kill pid não está funcionando? [duplicado]

2

Isso é bem estranho agora. Eu estou tentando matar um processo usando seu pid , mas ele não está funcionando.

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
Abaixo está a maneira que eu estou kiiling o processo.

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

E então, se eu fizer o ps novamente. Eu posso ver o mesmo resultado novamente.

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   

Alguém sabe o que está acontecendo? Isso estava funcionando bem antes e começou a acontecer algumas horas atrás e eu não tenho certeza do que está errado?

Atualização: -

Eu fiz top e ele está mostrando como D em vez de Z , que é uninterruptible sleep

5075 david  20   0 1255m  28m  13m D    0  0.0   0:01.09 http
    
por arsenal 07.06.2014 / 07:48

1 resposta

2

Para remover um processo D State , já que ele é ininterrupto, somente uma reinicialização da máquina pode resolver o problema caso ele não seja tratado automaticamente pelo sistema.

Geralmente, há poucas chances de que um processo permaneça em D State por muito tempo. E se isso acontecer, há algo que não está sendo tratado corretamente no sistema. Isso também pode ser um bug em potencial.

Abaixo está um extrato do OpenVZ sobre o que é D State de um processo.

D state occurs then the process is in uninterruptible sleep. This state is bad, because you can't do anything with the process in D state. Fortunately, process normally remains in such state not for so long. But if you have a heap of D state processes then some logic in system is disrupt. If that is happening, the very important thing is to determine where this unlucky sleep occurs. It is easy to do with ps command with l option. WCHAN column shows the name of the kernel function where the process is sleeping:

# 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 ./

[Refernce] - link

    
por 07.06.2014 / 08:36