c++ - 如何在 QT 中通过 C++ 监控 Linux 中的服务?

标签 c++ linux service qt-creator qt5

我正在开发一个小应用程序,以在 Ubuntu 机器上使用 QT Creator 在 C++ 中测试水域。

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

我了解了第一部分,即使用 QProcess 启动/停止服务.

在阅读有关 QProcess 的内容时,我遇到了 this但不幸的是,我对实现它没有多大意义。

我真的很感激这里的一些帮助。

问候,

最佳答案

在 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

关于c++ - 如何在 QT 中通过 C++ 监控 Linux 中的服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22921095/

相关文章:

c++ - #pragma once 的便携替代品

C++ linux 应用程序在长时间运行后停止系统。如何寻找原因?

c++ - (*this)[i] 在重载 [] 运算符之后?

c++ - 在 OpenGL 中使用文本——GLUT?

PHP 解压缩非常大的文件

linux - 从符号链接(symbolic link)文件夹中检索文件

windows - Groovy:如何将 .groovy 脚本作为 Windows 服务

python - gunicorn:开始:作业无法启动

java - 如何安排任务以使其在android中的任何条件下执行

c++ - 奇怪的算法性能