我遇到过需要监控进程启动的情况。我找到了很多方法来查看任何给定时刻正在运行的进程(例如通过轮询),但有时进程会在轮询间隔之间启动和结束。
我需要知道每个启动的进程(即使它不再运行 - 本质上,需要以某种方式记录每个“启动进程”);最重要的是,我需要一种在 Windows 机器上执行此操作的方法,以及一种在 Linux 机器上执行此操作的方法。
答案1
这两个平台的进程模型差异很大,因此似乎不可能有一个统一的工具来处理它们。目前有几十种商业 Windows 工具可用于此目的,其中大多数最终都运行在性能计数器系统上,您可以直接使用。
在 Linux 世界中,如果您的内核启用了 BSD 进程记帐,您就可以执行此操作;我最常看到的用户空间工具是来自 RedHat 的 auditd。