如何通过在Linux上使用C,C ++指定其名称来以编程方式检查特定守护程序是否正在运行?

时间:2016-12-14 08:44:32

标签: c++ c linux posix

如何通过使用C,C ++在Linux上指定其名称来以编程方式检查特定守护程序是否正在运行?

3 个答案:

答案 0 :(得分:0)

由于我无法在上面添加评论。 您可以使用systemctl检查服务状态。

systemctl status servicename

这是终端命令。 使用system("systemctl status servicename")你可以管理来自c ++的调用。

希望这是正在看的或类似的。

答案 1 :(得分:0)

要运行的简单命令是systemctl status ${service} | grep "Active:" | cut -d' ' -f6。捕获上述命令的标准输出,它应等于(running)

请注意,*ctl仅用于命令行使用,不供其他程序使用。可接受的方法是使用systemd API与dbus进行交互。

https://www.freedesktop.org/wiki/Software/systemd/dbus/

答案 2 :(得分:-1)

systemctl is-active $ {service_name}可用于检查服务是否处于活动状态