Linux 在进程启动时通知

标签 linux unix process

<分区>

试图找到一种在 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/

相关文章:

android - Cordova 在我的路径中找不到 ANDROID_HOME 或 android,尽管它们在那里

mysql - EC2 Amazon Linux AMI MySQL CPU @ 62% 空闲时?

macos - PostgreSQL 用户配置如何在 MacOSX 上工作?

c - 创建了多少进程

asp.net - .net core 2 应用程序成功运行但发布的应用程序未运行

python - Tkinter Linux 版本 "<Control-Shift-u>"

regex - 如何使用 grep/egrep 在文件中查找重复的单词?

linux - 无法覆盖到文件

c# - 即使在进程终止时也保证代码执行

mysql - 数据从MySQL实时迁移到elasticsearch?