如何使用C、C ++在Linux上编程检查特定守护程序是否正在运行?
systemctl status ${service} | grep "Active:" | cut -d' ' -f6
。捕获上述命令的stdout应该等于(running)
。*ctl
仅用于命令行使用,不适用于其他程序使用。与systemd
交互的接受方式是使用dbus
API。
由于我无法在上面添加评论。 您可以使用systemctl来检查服务状态。
systemctl status servicename
这是终端命令。
使用system("systemctl status servicename")
,您可以从C++管理调用。
希望这就是您所寻找的或类似的内容。
可以使用systemctl is-active ${service_name}来检查服务是否处于活动状态