我正在開發一個小應用程序,在Ubuntu上使用QT Creator在C++上測試水域。如何在QT中通過C++在Linux中監視服務?
這裏是處理,我想開始/停止某個服務,並監視它的狀態,以防它在我的應用程序之外啓動/停止。
我得到了第一部分覆蓋哪些是開始/停止服務使用QProcess。
在閱讀有關QProcess
的消息時,我遇到了this,但不幸的是我無法理解它的實現。
我真的很感謝這裏的幫助。
問候,
我正在開發一個小應用程序,在Ubuntu上使用QT Creator在C++上測試水域。如何在QT中通過C++在Linux中監視服務?
這裏是處理,我想開始/停止某個服務,並監視它的狀態,以防它在我的應用程序之外啓動/停止。
我得到了第一部分覆蓋哪些是開始/停止服務使用QProcess。
在閱讀有關QProcess
的消息時,我遇到了this,但不幸的是我無法理解它的實現。
我真的很感謝這裏的幫助。
問候,
開始/在Linux機器上停止服務,通過其服務管理界面,而不是通過QProcess
最好的做法。鑑於您的項目是新的,我不會嘗試支持Ubuntu專有服務管理器(Upstart),而是建立對systemd的支持,以便在不久的將來取代它。
首先你需要安裝systemd。
https://askubuntu.com/questions/420917/how-can-i-replace-upstart-with-systemd
然後嘗試一下這個C++庫:
感謝您的寶貴信息。 由於我在U13.10這是我工作的實際箱子。不管它是否可以與我的系統一起工作,與systemd一起使用是否是個好主意。順便說一句,我現在不擔心未來:) 從你的答案現在的外賣是'暴發'。 –
我不相信QProcess中是你想要的。我的意思是用QProcess,你可以從你的代碼中產生一個應用程序,並等到該進程結束了它的標準輸入和標準輸出控制... – drescherjm