在我的监控箱中,我有很多由 nagios 创建的僵尸进程,它们也很快被删除。我正在使用主动检查来监控我的服务器。我使用以下命令积累了创建的已停用进程:
$ top -d 0.25 -b -n 20 > topout.txt
这将收集 20 次延迟 0.25 秒的 top 输出。
我对 topout.txt 进行了 grep,查找已停止的进程。
$ cat topout.txt | grep defunct
我得到以下输出。
8957 nagios 20 0 0 0 0 Z 6.0 0.0 0:00.02 nagios <defunct>
8951 nagios 20 0 0 0 0 Z 3.0 0.0 0:00.01 nagios <defunct>
8954 nagios 20 0 0 0 0 Z 3.0 0.0 0:00.01 nagios <defunct>
8945 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
8946 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
8980 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9000 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.00 nagios <defunct>
9024 nagios 20 0 0 0 0 Z 7.0 0.0 0:00.02 nagios <defunct>
9025 nagios 20 0 0 0 0 Z 3.5 0.0 0:00.01 nagios <defunct>
9040 nagios 20 0 0 0 0 Z 3.1 0.0 0:00.01 nagios <defunct>
9086 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9087 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9123 nagios 20 0 0 0 0 Z 6.1 0.0 0:00.02 nagios <defunct>
9126 nagios 20 0 0 0 0 Z 3.0 0.0 0:00.01 nagios <defunct>
9131 nagios 20 0 0 0 0 Z 3.0 0.0 0:00.01 nagios <defunct>
9091 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.05 nagios <defunct>
9111 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9119 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9118 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9151 nagios 20 0 0 0 0 Z 2.9 0.0 0:00.02 nagios <defunct>
9153 nagios 20 0 0 0 0 Z 2.9 0.0 0:00.02 nagios <defunct>
9150 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9164 nagios 20 0 0 0 0 Z 3.5 0.0 0:00.02 nagios <defunct>
9171 nagios 20 0 0 0 0 Z 3.5 0.0 0:00.02 nagios <defunct>
9154 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9156 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9163 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9167 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9178 nagios 20 0 0 0 0 Z 3.8 0.0 0:00.02 nagios <defunct>
9174 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9179 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
9182 nagios 20 0 0 0 0 Z 0.0 0.0 0:00.01 nagios <defunct>
有人能帮助我找出这些僵尸进程的原因以及如何阻止这些僵尸进程吗?
答案1
Nagios 尚未运行 SIGCHLD 的信号处理程序。这可能是因为它正在运行队列中等待或忙于处理另一个信号。只要它们很快消失,就不必担心。