Я повторяю эти две команды снова и снова:
$ ps aux | grep php | grep -v grep
www-data 3663 100 14.8 328620 304900 ? R 12:56 0:54 php /home/jason/projects/mcif/./symfony import:process --id=91
jason@gob:~/projects/mcif$ sudo kill 3663
Есть ли быстрый и простой способ просто взять pid и убить его? Ближе всего к этому я подошел:
$ ps aux | grep php | egrep -o ' [0-9]+ ' | head -n1
3836
Но я не знаю, как это передать kill
.
pkill
будет делать то, о чем вы здесь просите.
Прежде чем выполнить pkill
, попробуйте pgrep
сначала, чтобы убедиться, что вы соответствуете тому, что ожидаете.
Вы также можете использовать killall, который берет имя процесса и убивает его. Принимает те же аргументы, что и kill.
В качестве примера можно использовать killall symfony.
Быстрый поиск в Google по запросу "ps grep kill" действительно полезен:
http://www-mobile.ecs.soton.ac.uk/bjc97r/tips/kill-by-name.html
http://www.howtogeek.com/howto/ubuntu/kill-a-process-by-process-name-from-ubuntu-command-line/
http://www.commandlinefu.com/commands/view/1138/ps-ef-grep-process-grep-v-grep-awk-print-2-xargs-kill-9
Я использую зап на OpenBSD (его нет в базовой системе).