小编use*_*949的帖子

设计一个监控进程来监控和重启进程

我正在设计一个监视器过程。监控进程的工作是监控几组已配置的进程。当监控进程检测到某个进程宕机时,需要重启该进程。

我正在为我的 linux 系统开发代码。这是我开发一个小原型的方式 - 提供有关需要监控的各种流程的详细信息(路径、参数)。- 监控进程执行以下操作: 1. 为 SIGCHLD 安装一个信号处理程序 2. 一个 fork 和 execv 来启动要监控的进程。存储子进程的pid。3. 当孩子失败时,父母会收到一个 SIGCHLD 4. 现在将调用信号处理程序。处理程序将在之前存储的 pid 列表上运行 for 循环。对于每个 pid,它将检查 /proc 文件系统是否存在与 pid 对应的目录。如果该目录不存在,则重新启动该进程。

现在,我的问题是 - 上述方法(检查 /proc 文件系统)是检查进程是否正在运行的标准或推荐机制,还是我应该执行一些操作,例如为 ps 命令创建管道并循环遍历ps?- 有没有更好的方法来实现我的要求?

问候。

c unix process

3
推荐指数
1
解决办法
3914
查看次数

标签 统计

c ×1

process ×1

unix ×1