谁在窃取我的 pid?

谁在窃取我的 pid?

我注意到我的 Debian Jessie 系统正在使用许多 pid,即使系统(应该)大部分处于空闲状态。下图显示每 10 秒使用或多或少 270 个 pid,而活动进程的数量或多或少保持不变:

$ while :; do echo -n "$(ps | tail -n 1 | cut -d' ' -f1) "; ps aux | wc -l; sleep 10; done
15008 155
15280 155
15555 155
15800 155
16074 155
16343 155
16612 155
16881 155
17150 155
17418 155
17688 155

尽管系统负载不是很高,但我想在它成为问题之前调查并修复它(如果可能)。

答案1

如果负载保持较低且进程计数保持相当恒定,则仅意味着在十秒期间生成短寿命进程。每秒二十七个进程可能根本不是问题,因此可能没有什么需要修复的。

另一方面,这可能是一个虚假的守护进程或试图启动一个快速失败的进程并在无限循环中再次执行的进程。

为了找到答案,我建议使用同样由 Solaris 创建的实用程序之一dtrace 执行监听 作者, 例如那个使用追踪或者另一个使用系统水龙头

答案2

如果不出意外,您的 shell 脚本会在该循环中为每个命令(例如 、 、 等)创建一个进程ps。您只能使用应用程序(一个进程...)来观察系统,该应用程序扫描文件系统以查找相关更改。cuttail/proc

进一步阅读:

相关内容