Comecei meu programa Python em segundo plano usando nohup
como mencionado abaixo -
nohup zook.py &
Agora estou tentando encerrar esse processo, então executei o ps
comando mencionado abaixo
root@phxdbx1145:/home/david/zook# ps ax | grep zook.py
16352 pts/6 S+ 0:00 grep --color=auto zook.py
Mas de alguma forma, toda vez que seu PID é alterado, não sei por quê. Sempre que eu faço assim -
kill -9 16352
Sempre diz No Such Process
,.
E quando executo o comando px novamente, vejo que o PID foi alterado automaticamente.
Então não tenho certeza de como faço para matar esse processo?
Existe alguma maneira de encerrar o processo com o nome de alguma forma?
Eu tentei com
killall zook.py
mas não funciona para mim e eu fico -
zook.py: no process found
Alguma outra opção? De alguma forma, toda vez que seu PID é alterado. Então não posso usarkill -9 pid
ATUALIZAR:-
Isso é o que estou recebendo. Eu fiz pkill -9 zook.py
e então executei o comando ps conforme mencionado abaixo e ele mostra zook.py constantemente?
root@dbx1145:/home/david/zook# pkill -9 zook.py
root@dbx1145:/home/david/zook# ps ax | grep zook.py
23870 pts/6 S+ 0:00 grep --color=auto zook.py
root@dbx1145:/home/david/zook# ps ax | grep zook.py
23872 pts/6 S+ 0:00 grep --color=auto zook.py
root@dbx1145:/home/david/zook# ps ax | grep zook.py
23874 pts/6 S+ 0:00 grep --color=auto zook.py
root@dbx1145:/home/david/zook# ps ax | grep zook.py
23876 pts/6 S+ 0:00 grep --color=auto zook.py
Responder1
Se você olhar o que está à direita desse PID, poderá notar que é o PID do grep procurando sua string de pesquisa. É por isso que é sempre diferente. No momento em que você recupera o shell do grep, é claro que o grep desapareceu.
Você encontrará seu processo com um nome diferente, se ainda estiver em execução. Em vez disso, tente ps ax | grep python
, ou melhor ainda, pgrep python
se tiver.
Responder2
Para fazer o grep para o processo, você poderia usar
ps ax|grep name|grep -v grep
isso eliminará os comandos grep; no entanto, se o nome do seu script não estiver aparecendo, você provavelmente precisará executar ps axw para obter uma linha de comando mais longa.
ps axww|grep name|grep -v grep