僵尸正在接管我的电脑

sam*_*pie 7 pidgin vlc

我可以在我的计算机中看到几个僵尸进程。我怎样才能摆脱它们?

事实上,为什么会存在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)

Rad*_*anu 3

我认为您的答案已融入路易斯·阿尔瓦拉多答案中:

如果您有僵尸进程,则意味着这些僵尸进程尚未被其父进程等待(查看由显示的 PPID ps -l)。你有三个选择: 修复父进程(让它等待);杀死父母;或忍受它。请记住,忍受它并不那么困难,因为僵尸在 的输出中只占用多一行ps

[...]存在时间超过较短时间的僵尸通常表明父程序中存在错误。与其他泄漏一样,一些僵尸的存在本身并不令人担忧,但可能表明问题在较重的负载下会变得严重。

要从系统中删除僵尸,可以使用kill命令手动将SIGCHLD信号发送到父系统。如果父进程仍然拒绝收割僵尸进程,下一步就是删除父进程。当一个进程失去它的父进程时,init 就成为它的新父进程。Init 定期执行 wait 系统调用以获取以 init 作为父级的任何僵尸。

另请参阅这篇关于如何摆脱僵尸进程的文章。


And*_*Mao 0

至少对于洋泾浜来说,这似乎是一个由于进入和退出休眠状态的问题而导致的错误:

https://bugs.launchpad.net/ubuntu/+source/pidgin/+bug/1245666

vlc 僵尸可能只是该程序中的错误导致的巧合。