有时候一个过程比我能更快地进行,我试着watch -d -n0.1 "ps aux | tail"但是watch -d -n0.1 "ps aux | tail"被限制在1/10秒。 我真正想要的是运行一个命令,并遵循所有新的进程,每行一个,因为他们产卵。 即使stream程运行速度很快。 我知道strace有这样的能力,但是我没有能够做到我想要的。
tl;dr :有没有办法logging所有新进程?
我不想知道多less,只是ps aux会给我的一条线,因为目前的情况下,我只是有一个由另一个产生并消失的过程,我希望能够运行它,不知道命令会是什么。 即使知道新的PID也足够了,因为我可以通过脚本来获取这些信息并运行ps | grep 在这些ps | grep和给我更多的信息,当进程正在运行(假设希望过程仍然是当ps进入)
你想了解这些stream程? 如果你能控制谁生成过程, strace -feprocess $SHELL会做。
如果只是对其脚本的概述,请使用进程记帐(在gnu acct软件包中;使用lastcomm命令),或使用atoplogging器模式等更高级别的工具。 未来, trace和uprobes等工具将有助于从内核获取详细信息。
进程auditd?
史努比可能是你的用例的正确工具。
如果你需要简单的logging器,而不是寻找安全/审计解决scheme,那么史努比可能就是这样。
披露:这里是史努比维护者。