Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux在进程启动时发出通知_Linux_Unix_Process - Fatal编程技术网

Linux在进程启动时发出通知

Linux在进程启动时发出通知,linux,unix,process,Linux,Unix,Process,试图找到在linux上启动进程时收到通知的方法。问题是进程a启动进程B,进程B在启动进程C后死亡。我需要跟踪进程a、B和C的进程ID。对于死亡进程,不维护进程历史记录。您可能需要,例如。但这可能会处理您的大多数流程 如果您可以更改、配置或修改您的A、B或C,请考虑使用。这可能很简单,比如用一个以原始B程序开头的脚本替换程序B,然后执行原始B程序。您甚至可以尝试使用路径来“透明地”执行此操作。您不需要在流程启动时收到通知,只需要可靠地跟踪属于特定组的流程。好吧,Linux有一个很好的工具来实现这一

试图找到在linux上启动进程时收到通知的方法。问题是进程a启动进程B,进程B在启动进程C后死亡。我需要跟踪进程a、B和C的进程ID。对于死亡进程,不维护进程历史记录。

您可能需要,例如。但这可能会处理您的大多数流程


如果您可以更改、配置或修改您的A、B或C,请考虑使用。这可能很简单,比如用一个以原始B程序开头的脚本替换程序B,然后执行原始B程序。您甚至可以尝试使用

路径来“透明地”执行此操作。

您不需要在流程启动时收到通知,只需要可靠地跟踪属于特定组的流程。好吧,Linux有一个很好的工具来实现这一点。您可以阅读有关控制组的更多信息

将进程A移动到其自己的控制组中,默认情况下,它的所有后续子进程及其子进程都将属于该控制组,并且由于可以查询属于控制组的进程PID列表,因此您可以使用它跟踪这些进程

以这种方式使用cgroups还有其他好处,例如能够跟踪甚至限制此进程组使用的资源(CPU时间、IO带宽等),能够冻结和重新启动整个组等等

CGroups恰好是分布式批处理作业管理系统HTCondor用来完成相同任务的机制,因此在这个主题上有很多与HTCondor相关的资料。比如看这个和这个

偶尔使用strace(1)可能就足够了。详细解释什么是A、B和C。你有他们的源代码吗?他们是自由软件吗?您是否可以配置它们(例如,用包装外壳脚本替换其中一些)?