Comment tuer le process en utilisant le nom du programme au lieu de PID?

J'ai commencé mon programme Python en arrière-plan en utilisant nohup comme mentionné ci-dessous –

 nohup zook.py & 

Maintenant, j'essaie de tuer ce process, alors j'ai fait la command ps comme mentionné ci-dessous

 root@phxdbx1145:/home/david/zook# ps ax | grep zook.py 16352 pts/6 S+ 0:00 grep --color=auto zook.py 

Mais d'une façon ou d'une autre, chaque fois que son PID change, je ne sais pas pourquoi. Chaque fois que je fais comme ça –

 kill -9 16352 

Il dit toujours, No Such Process .

Et quand je fais encore un petit ordre, je vois que le PID a changé automatiquement.

Je ne sais donc pas comment je tue ce process?

Est-ce que je peux tuer le process avec le nom de quelque façon que ce soit?

J'ai essayé avec

killall zook.py

mais ça ne marche pas pour moi et je l'ai compris –

 zook.py: no process found 

Une autre option? D'une façon ou d'une autre, chaque PID se change. Donc je ne peux pas utiliser kill -9 pid

METTRE À JOUR:-

C'est ce que je reçois. J'ai fait pkill -9 zook.py et puis j'ai fait la command ps comme mentionné ci-dessous et ça fait constamment zook.py?

 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 

Si vous regardez ce qui se trouve à droite de ce PID, vous pouvez remarquer que c'est le PID de grep qui search votre string de search. C'est pourquoi il est différent à chaque fois. Au moment où vous avez votre coquille de grep, bien sûr, grep est parti.

Vous findez votre process sous un nom différent, s'il est toujours en cours d'exécution. Essayez ps ax | grep python ps ax | grep python place, ou mieux encore, pgrep python si vous l'avez.

Pour faire le grep pour le process, vous pouvez utiliser

 ps ax|grep name|grep -v grep 

Cela éliminera les commands grep, mais si votre nom de script ne s'affiche pas, vous devez probablement faire ps axw pour get une command line plus longue.

 ps axww|grep name|grep -v grep