杀掉 pid 不起作用?

杀掉 pid 不起作用?

现在这很奇怪。我试图通过使用它来杀死一个进程pid,但它根本不起作用。

root@machineA:/home/david# ps aux | grep modelling
david  5075  0.0  0.0 1285420 29404 ?       Dl   21:05   0:01 /opt/modelling/bin/http
root   8730  0.0  0.0   8096   936 pts/4    S+   22:43   0:00 grep --color=auto modelling

以下是我终止该过程的方式。

root@machineA:/home/david# kill -9 5075

然后如果我再做ps一次。我可以再次看到相同的结果。

root@machineA:/home/david# ps aux | grep modelling
david  5075  0.0  0.0 1285420 29404 ?       Dl   21:05   0:01 /opt/modelling/bin/http
root   9062  0.0  0.0   8100   936 pts/4    S+   22:44   0:00 grep --color=auto modelling   

有谁知道发生了什么事?这早些时候工作正常,几个小时前就开始发生,我不确定出了什么问题?

更新:-

我做了顶部,它显示为DZ不是uninterruptible sleep

5075 david  20   0 1255m  28m  13m D    0  0.0   0:01.09 http

答案1

要删除D State进程,因为它是不可中断的,只有重新启动机器才能解决问题如果系统没有自动处理它。

D State通常,进程长时间停留的可能性很小。如果确实如此,则系统中存在未正确处理的问题。这也可能是一个潜在的错误。

D State下面是 OpenVZ 中有关进程的内容的摘录。

发生 D 状态则进程处于不间断睡眠状态。这种状态很糟糕,因为您无法对处于 D 状态的进程执行任何操作。幸运的是,进程通常不会保持这种状态太久。但如果你有一堆 D 状态进程,那么系统中的某些逻辑就会被破坏。如果发生这种情况,非常重要的是确定这种不幸的睡眠发生在哪里。使用带有 l 选项的 ps 命令很容易做到。 WCHAN 列显示进程正在休眠的内核函数的名称:

# ps axl | awk '$10 ~ /D/'
F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
vass     13478  7.2  0.0   1732   624 pts/1    D+   17:36   0:00 find ./

[参考]-https://openvz.org/Processes_in_D_state

相关内容