Linux下神秘的进程:没法杀死
的zombie进程
Zombie进程是Linux系统中的一种神秘进程。它也被称为僵尸进程,由于它们就像死去的一切,没有任何活动。正如死亡的受害者,它们的存在使得活着的人们感到不安。但是,即便它们看起来是无害的,你也不能把它们当作家务来处理,而是要注意它们。
在Linux系统中,当一个进程从某种缘由结束时,它将变成zombie进程。 这意味着它的PID可使用ps命令在进程映像中找到,但它的名称和状态列将显示为“”。 这是由于它已死亡,并且只能经过其父进程以一种专门的方式释放,否则它会一直存在于zombie状态中。
现在,关键问题是,没法杀死zombie进程有何影响? 事实上,zombie进程本身不会影响任何事情,但它们会占用系统资源,例如PID。 所以,如果你有大量,你会开始耗尽系统可用PID,并且你将没法启动任何新进程,直到你杀死zombie进程,然后释放你的PID。
为了解决这个问题,可使用工具来找出所有zombie进程的父进程的PID,然后通过使用kill命令来杀死它们。 由于它们处于僵死状态,你应当使用⑼(SIGKILL)参数:
$ ps -A | grep “Z”
$ kill ⑼ PID_OF_PARENT
通过履行上述步骤,就能够从系统中清除zombie进程了。 不过,这类做法只会清算系统中可见的zombie进程,不会释放zombie进程的PID。 为了解决这个问题,你需要在系统启动时启用zombie进程的释放,这是linux内核参数工作的方式:
# sysctl -w kernel.zombie_r_value=1
这样做可以为系统释放所有zombie进程的PID,这是一个定期的保护,你应当斟酌履行它作为清算Linux系统中可能存在的额外进程的最好实践。
总之,Linux中的zombie进程是一种奇异的进程。 虽然它们只是僵死状态,但是它们也有影响系统资源的能力。 因此,正确的处理zombie进程是系统管理员的责任,特别是需要大量PID的系统应当更加注意它们。
文章来源:丸子建站
文章标题:Linux下神秘的进程:没法杀死
https://www.wanzijz.com/view/59580.html