试图在linux上启动进程时寻求通知的方式。问题在于,流程A启动流程B,流程B在启动流程C后死亡。我需要跟踪A,B和C的流程ID。流程历史记录不针对死进程维护。Linux在进程启动时通知
1
A
回答
0
您可能想要process accounting,例如GNU acct。但是这可能会处理大部分流程。
如果你可以改变,配置或修改您的一个,乙,或Ç考虑使用syslog(3)。这可以如同用例如程序B来代替那样简单。一个以logger(1)开头的脚本,然后exec
-原始的B程序。你甚至可以尝试用你的PATH
来玩弄“透明”的做法。
1
当进程启动时,您不需要获取通知,只需要可靠地跟踪属于特定组的进程。那么,Linux有一个伟大的设施 - 使用Control Groups。你可以阅读更多关于控制组here。
将进程A移动到其自己的控制组中,其所有后续子进程及其子进程将默认属于该控制组,因为可以查询可以使用属于控制组的进程的PID列表它来跟踪这些过程。
以这种方式使用cgruoups还有其他好处 - 例如跟踪甚至限制此进程组使用的资源(CPU时间,IO带宽等),冻结和重新启动组的能力整体和更多。
CGroups正好是分布式批处理作业管理系统HTCondor用于完成相同任务的机制,因此在这个主题上有很多与HTcondor相关的材料。例如见section in the HTCondor manual和wiki post。
祝你好运
相关问题
- 1. Linux上的进程启动时间
- 2. Linux守护进程启动
- 3. 线程启动时通知对象
- 4. Linux - 在系统启动时自动运行哪些进程
- 5. Docker - 进程不在启动时启动
- 6. 从远程通知启动
- 7. 通过C++代码在Linux上启动/停止守护进程
- 8. 如何在Windows和Linux中终止进程时收到通知?
- 9. 如何在vmware启动时调试linux进程?
- 10. didFinishLaunchingWithOptions远程通知在应用程序启动时为空
- 11. 重新启动进程脚本linux
- 12. 从Linux中的CGI启动进程
- 13. 在Linux启动时启动脚本
- 14. 无法在启动时在Linux中启动程序
- 15. Linux在崩溃时自动重新启动应用程序 - 守护进程
- 16. JBoss启动通知
- 17. linux启动过程
- 18. Linux内核如何知道在启动时加载哪些驱动程序?
- 19. 的Linux启动时
- 20. 如何知道进程是否已在Linux中启动但崩溃
- 21. 查杀未知启动守护进程
- 22. 在应用程序启动时延迟ios权限通知?
- 23. 推送通知每次在应用程序启动时显示
- 24. 如何在某个应用程序启动时得到通知?
- 25. 在应用程序启动时触发Android通知
- 26. 确定何时通过通知启动Windows 8应用程序
- 27. 在启动时启动java进程并在死时自动重启
- 28. Linux守护进程停止启动 - 停止守护进程
- 29. 如何确定Linux进程启动的日期和时间?
- 30. 使用gdb启动时的进程转储Linux
偶尔使用strace(1)可能就足够了。 –
解释什么是* A *,* B *和* C *。你有他们的源代码吗?他们是免费软件吗?你可以配置它们吗(例如用一个包装shell脚本替换它们中的一些)? –