规格
[midas@localhost ~]$ uname -a Linux localhost.localdomain 4.0.4-301.fc22.x86_64 #1 SMP Thu May 21 13:10:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
和
[midas@localhost ~]$ cat /etc/issue Fedora release 22 (Twenty Two)
问题前言
我试图dnf
在我的 Fedora 22 (Linux 4.0.4) 上安装一个新的软件包。当软件包下载到 52% 时停止,并且终端窗口不再显示任何进度。
我中止了下载并尝试使用相同的dnf install [package name]
命令重新启动它。
然后我收到了以下通知:
Waiting for process with pid 2967 to finish.
结果dnf
仍然在后台运行:
[midas@localhost ~]$ ps -A | grep 2967 2967 ? 00:00:01 dnf
问题
我想我可以只是kill
这个过程,但是:
[midas@localhost ~]$ kill 2967 bash: kill: (2967) - No such process [midas@localhost ~]$ sudo kill 2967 kill: sending signal to 2967 failed: No such process
为什么ps
可以列出进程却kill
找不到?
我知道重新启动可以解决这个问题(或者甚至需要一点耐心)。但我只是好奇为什么这两个命令之间有如此大的差异。
答案1
列出的进程可能已经是僵尸进程,您无法杀死它。它的生存时间取决于其父进程。
如果将该u
标志添加到 的调用中ps
,它还会显示用于僵尸进程STAT
的列。Z
参见例如https://stackoverflow.com/questions/16944886/how-to-kill-zombie-process 更多细节。