2014-04-07 30 views
0

我正在开发一个小应用程序,在Ubuntu上使用QT Creator在C++上测试水域。如何在QT中通过C++在Linux中监视服务?

这里是处理,我想开始/停止某个服务,并监视它的状态,以防它在我的应用程序之外启动/停止。

我得到了第一部分覆盖哪些是开始/停止服务使用QProcess

在阅读有关QProcess的消息时,我遇到了this,但不幸的是我无法理解它的实现。

我真的很感谢这里的帮助。

问候,

+1

我不相信QProcess中是你想要的。我的意思是用QProcess,你可以从你的代码中产生一个应用程序,并等到该进程结束了它的标准输入和标准输出控制... – drescherjm

回答

2

开始/在Linux机器上停止服务,通过其服务管理界面,而不是通过QProcess最好的做法。鉴于您的项目是新的,我不会尝试支持Ubuntu专有服务管理器(Upstart),而是建立对systemd的支持,以便在不久的将来取代它。

首先你需要安装systemd。

https://askubuntu.com/questions/420917/how-can-i-replace-upstart-with-systemd

然后尝试一下这个C++库:

https://github.com/ilpianista/libsystemd-qt

+0

感谢您的宝贵信息。 由于我在U13.10这是我工作的实际箱子。不管它是否可以与我的系统一起工作,与systemd一起使用是否是个好主意。顺便说一句,我现在不担心未来:) 从你的答案现在的外卖是'暴发'。 –