2014-04-07 43 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一起使用是否是個好主意。順便說一句,我現在不擔心未來:) 從你的答案現在的外賣是'暴發'。 –