监视Linux机器上所有新产生的进程


12

有时候,一个过程来来往往比我ps aux尝试的要快,watch -d -n0.1 "ps aux | tail"但是我又一次限制了它的执行时间,限制为1/10秒。我真正想要的是运行命令并遵循所有新进程(每行产生一个新进程)。即使进程运行很快。我知道strace有类似的能力,但我无法让它做我想做的事。

tl;dr :有没有办法记录所有新进程?

我不想知道太多,最多ps aux只能给我一行,对于当前情况,我只是有一个进程由另一个进程生成并消失了,我希望能够运行它,但是我不知道该命令将是什么。甚至知道新的PID就足够了,因为我可以找到一个脚本来接受这些PID并ps | grep在这些PID上运行,并在进程运行时为我提供更多信息(假设进程继续运行时仍在ps进行)

Answers:


7

您想了解那些流程的什么?如果您可以控制谁产生了进程,那就可以了strace -feprocess $SHELL

如果仅是其占用空间的概述,请使用进程记帐(在gnu acct软件包中;使用lastcomm命令),或使用更高级别的工具(如top的记录器模式)。将来,跟踪和uprobes之类的工具将有助于从内核中获取详细信息。


我很确定该过程是由gnome或X或他们的Louey进程之一产生的。我不确定。
Vasiliy Sharapov

4
一起去的lastcomm呢。
东武


1

史努比可能是您使用案例的正确工具。

如果您需要简单的记录器,而又不想寻找安全/审核解决方案,那么史努比可能就是您了。

披露:史努比维护者在这里。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.