Comencé mi programa Python en segundo plano usando nohup
como se menciona a continuación:
nohup zook.py &
Ahora estoy intentando finalizar este proceso, así que hice el ps
comando como se menciona a continuación.
root@phxdbx1145:/home/david/zook# ps ax | grep zook.py
16352 pts/6 S+ 0:00 grep --color=auto zook.py
Pero de alguna manera, cada vez que se cambia el PID, no sé por qué. Cada vez que me gusta esto -
kill -9 16352
Siempre dice, No Such Process
.
Y cuando vuelvo a ejecutar el comando px, veo que el PID se cambió automáticamente.
Entonces, no estoy seguro de cómo puedo eliminar este proceso.
¿Hay alguna manera de que pueda finalizar el proceso con el nombre de alguna manera?
lo intenté con
killall zook.py
pero no me funciona y me sale -
zook.py: no process found
¿Alguna otra opción? De alguna manera, cada vez, se cambia el PID. Así que no puedo usarlo.kill -9 pid
ACTUALIZAR:-
Esto es lo que estoy obteniendo. Lo hice pkill -9 zook.py
y luego ejecuté el comando ps como se menciona a continuación y muestra 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
Respuesta1
Si observa lo que está a la derecha de ese PID, podrá notar que es el PID de grep que busca su cadena de búsqueda. Por eso es diferente cada vez. Para cuando recupere su shell de grep, por supuesto, grep ya no está.
Encontrará su proceso con un nombre diferente, si aún se está ejecutando. Pruébalo ps ax | grep python
en su lugar, o mejor aún, pgrep python
si lo tienes.
Respuesta2
Para hacer el grep para el proceso, podrías usar
ps ax|grep name|grep -v grep
esto eliminará los comandos grep; sin embargo, si el nombre de su script no aparece, probablemente tenga que hacer ps axw para obtener una línea de comando más larga.
ps axww|grep name|grep -v grep