c++ - 控制 Linux 守护进程的 API

标签 c++ linux

我需要的是通过某种 API 控制 Linux 守护进程的可能性,例如检查某个守护进程是否正在运行、启动/停止/重新启动它等。

有没有提供此功能的 Linux 库?

最佳答案

你也可以使用 D-BusSNMP .然而,大多数守护进程只是将它们的 PID 写入 /var/run/ 下的某个文件并接受 SIGTERM 信号停止,以及 SIGHUP 信号重新加载它们的配置文件(通常在 /etc/ 下)。

请注意,如果您采用通常的约定,您的守护程序 mydprog 将其 pid 写入 /var/run/mydprog.pid 一些其他程序可以读取该 pid在那里检查,使用kill(2) 0 信号表示守护进程正在运行。您还可以访问 /proc/1234/ 下的一些伪文件(其中 1234 是守护程序的 pid),特别是 /proc/1234/status,请参阅 proc(5)了解更多。

你也可以设计你的守护进程,让它回答,例如使用一些 JSONRPC关于一些 unix(7) 的协议(protocol)或 tcp(7)套接字,通过提供状态信息来进行某些查询。您可能会考虑使用一些 HTTP协议(protocol)通过一些 HTTP 服务器库,如 libonion ,或任何其他消息传递或远程过程调用协议(protocol)。

关于c++ - 控制 Linux 守护进程的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10042192/

相关文章:

C++ 忽略构造函数异常的后果

c++ - C++ 中的 typedef 总结和定义一个具有两个函数的新类型

c - 确定 CPU 利用率

linux - 加密/解密引擎

regex - GREP - "dot match newline"选项?

linux - 在 Bash 上调用命令变量

c++ - cout 在无限循环的情况下不起作用

c++ - QVideoWidget 对齐时不显示任何内容

c++ - C++ 是否支持与 STL 兼容的不可变记录类型?

linux - 执行 modprobe 时未找到模块