我可以在我的计算机中看到几个僵尸进程。我怎样才能摆脱它们?
事实上,为什么会存在vlc和pidgin僵尸?这是Ubuntu中的错误还是我做过的事情?
谢谢!
ps aux |grep Z
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
sammy 3236 0.0 0.0 0 0 ? Zl heinä26 0:01 [vlc] <defunct>
sammy 4028 0.0 0.0 0 0 ? Zl heinä26 0:00 [vlc] <defunct>
sammy 4046 0.0 0.0 0 0 ? Zl heinä26 0:00 [vlc] <defunct>
sammy 4060 0.0 0.0 0 0 ? Zl heinä26 0:00 [vlc] <defunct>
sammy 4841 0.0 0.0 0 0 ? Z heinä26 0:00 [pidgin] <defunct>
sammy 4844 0.0 0.0 0 0 ? Z heinä26 0:00 [pidgin] <defunct>
sammy 6525 0.0 0.0 0 0 ? Z heinä26 0:00 [pidgin] <defunct>
sammy 6529 0.0 0.0 0 0 ? Z heinä26 0:00 [pidgin] <defunct>
sammy 8401 0.0 0.0 0 0 ? Zl heinä26 0:00 [vlc] <defunct>
sammy 13526 0.0 0.0 0 0 ? Z 09:54 0:00 [pidgin] <defunct>
Run Code Online (Sandbox Code Playgroud)
如果您有僵尸进程,则意味着这些僵尸进程尚未被其父进程等待(查看由显示的 PPID
ps -l
)。你有三个选择: 修复父进程(让它等待);杀死父母;或忍受它。请记住,忍受它并不那么困难,因为僵尸在 的输出中只占用多一行ps
。[...]存在时间超过较短时间的僵尸通常表明父程序中存在错误。与其他泄漏一样,一些僵尸的存在本身并不令人担忧,但可能表明问题在较重的负载下会变得严重。
要从系统中删除僵尸,可以使用kill命令手动将SIGCHLD信号发送到父系统。如果父进程仍然拒绝收割僵尸进程,下一步就是删除父进程。当一个进程失去它的父进程时,init 就成为它的新父进程。Init 定期执行 wait 系统调用以获取以 init 作为父级的任何僵尸。
另请参阅这篇关于如何摆脱僵尸进程的文章。
至少对于洋泾浜来说,这似乎是一个由于进入和退出休眠状态的问题而导致的错误:
https://bugs.launchpad.net/ubuntu/+source/pidgin/+bug/1245666
vlc 僵尸可能只是该程序中的错误导致的巧合。
归档时间: |
|
查看次数: |
1660 次 |
最近记录: |