[英]How to start and stop an external program in another device using Qt?
我正在开发固件更新程序,该更新程序应从Web服务器下载数据并将其上传到嵌入式Linux设备。
我希望一个程序(客户端)在建立它们之间的连接并开始发送数据之前先启动另一个程序(服务器)。 在相同的环境中做到这一点很容易:只需调用QProcess
和startDetached()
,但我想远程进行:我想在台式机中启动客户端,并通过已知IP通过ETH / TCP连接设备地址,请单击一个按钮,要求设备启动服务器。 服务器完成启动并开始等待连接后,Desktop应用程序将打开套接字连接并开始发送数据。 发送完所有数据后,应发送另一个命令以要求服务器关闭,关闭连接并完成文件传输操作。
我的问题是: 当应用程序位于另一台计算机上(调用方在PC上的嵌入式Linux设备中)时,如何执行启动或停止该应用程序的操作 ? 请注意,该解决方案必须不依赖于某些额外的软件(例如Tcp服务器)才能在设备上持续运行-这正是我要避免的事情。
这与Qt毫无关系,因为它没有为此目的提供任何东西。 从这一点开始至少有两条路径:
ssh user@remote-machine "any command here"
。 可以使用QProcess来调用。 要么 当心允许机器执行来自外部源的任意命令可能引起的任何安全问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.