<分区>
试图找到一种在 Linux 上启动进程时收到通知的方法。问题是进程 A 启动进程 B,进程 B 在启动进程 C 后死亡。我需要跟踪 A、B 和 C 的进程 ID。进程历史不会为死进程保留。
<分区>
试图找到一种在 Linux 上启动进程时收到通知的方法。问题是进程 A 启动进程 B,进程 B 在启动进程 C 后死亡。我需要跟踪 A、B 和 C 的进程 ID。进程历史不会为死进程保留。
最佳答案
您不需要在进程启动时收到通知,您只想可靠地跟踪属于特定组的进程。好吧,Linux 有一个很好的工具 - 使用 Control Groups .您可以阅读有关控制组的更多信息 here .
将进程 A 移动到它自己的控制组中,它的所有后续子进程及其子进程默认都属于该控制组,并且由于可以查询属于控制组的进程的 PID 列表,您可以使用它跟踪这些过程。
以这种方式使用 cgrouups 还有其他好处——例如跟踪甚至限制此进程组使用的资源(CPU 时间、IO 带宽等)的能力,卡住和重新启动该进程组的能力完整和更多。
CGroups 恰好是分布式批处理作业管理系统 HTCondor 用来完成相同任务的机制,因此有很多与 HTcondor 相关的主题可用 Material 。参见例如这个 section in the HTCondor manual还有这个wiki post .
祝你好运
关于Linux 在进程启动时通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21264948/