Как убить процесс, используя имя программы вместо PID?

Я начал свою программу Python в фоновом режиме, используя nohup, как указано ниже -

nohup zook.py &

Теперь я пытаюсь убить этот процесс, поэтому я сделал команду ps, как указано ниже 1]

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

Но так или иначе, каждый раз, когда его PID меняются, я не знаю, почему. Всякий раз, когда мне это нравится -

kill -9 16352

Он всегда говорит: No Such Process.

И когда я снова выполняю команду px, я вижу, что PID автоматически изменился ..

Итак, я не уверен, как мне убить этот процесс?

Можно ли каким-то образом убить процесс с именем?

UPDATE: - 7]

Это то, что я получаю. Я сделал pkill -9 zook.py, а затем сделал команду ps, как указано ниже, и это постоянно 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
1
задан 6 January 2014 в 22:18

4 ответа

pid в вашем примере, который продолжает меняться, - это идентификатор процесса вашего grep, пытающийся найти PID. Это означает, что ваши ps и grep не находят фактический процесс, который вы ищете.

Попробуйте запустить свой скрипт без завершающего «& amp;», чтобы увидеть, что он делает.

Вы также можете использовать инструмент «Системный монитор» из панели инструментов, чтобы просмотреть полный список процессов с идентификаторами процесса.

2
ответ дан 24 May 2018 в 13:40
  • 1
    Я нахожусь в Ubuntu, у которого нет хорошего пользовательского интерфейса. Все в командной строке. Как проверить все процессы? – arsenal 28 December 2013 в 12:11
  • 2
    @TechGeeky, используйте команду top для этого. – precise 28 December 2013 в 12:18
  • 3
    Если вы можете установить программное обеспечение, попробуйте «htop». Это лучше и проще в использовании (IMHO). – Javier Rivera 30 December 2013 в 14:12

вы можете использовать pkill для отправки сигнала уничтожения так же, как и сигнал kill

Eg: pkill firefox 
pkill -9 firefox
2
ответ дан 24 May 2018 в 13:40

Вы можете убить с помощью xkill. Просто зайдите в диалог «run» (Alt + F2), введите xkill, и указатель мыши изменится на «x». Укажите приложение, которое вы хотите убить и нажмите, и оно будет убито. Иногда бывает намного быстрее, чем загрузка системного монитора.

2
ответ дан 24 May 2018 в 13:40

Основная проблема заключается в команде «ps ax | grep something '. Это всегда отображает «grep ... something» как один из процессов, который на самом деле является «grep», начатым вами. вместо этого используйте 'pgrep', чтобы получить pid

: https://unix.stackexchange.com/questions/74185/how-can-i-prevent-grep-from-showing-up-in- пс-результаты

1
ответ дан 24 May 2018 в 13:40

Другие вопросы по тегам:

Похожие вопросы: