Есть ли способ (возможно, сценарий), как автоматизировать этот процесс:
petr@sova:~$ ps -ef | grep middleman
petr 18445 2312 1 12:06 pts/2 00:00:01 /home/petr/.rvm/gems/ruby-1.9.3-p362/bin/middleman
petr 18581 13621 0 12:08 pts/0 00:00:00 grep --color=auto middleman
petr@sova:~$ kill -9 18445
К сожалению, pkill слишком слаб, поскольку мне нужно перейти с опцией -9 на kill .
Существует еще более простое решение, чем одно из qbi: killall позволяет вам убивать процессы по имени, и вы можете указывать сигналы.
killall -9 middleman
Подробнее см. man killall для получения дополнительной информации и дополнительных опций (их довольно много).
Как следует из названия, это посылает сигнал всем процессам с именем [ f4]. Но это не отличается от других способов (например, pkill). Кроме того, pkill -9 middleman будет нацелен на процессы, имя которых совпадает, но не равно middleman, например middleman2.
Другие ответы полностью верны, но я мог бы добавить третий вариант, чтобы все было описано здесь. Вы также можете использовать:
pkill -9 middleman
Для получения дополнительной информации и дополнительных опций см. [F2].
Не важно, какой из этих методов вы используете. Они все будут работать. Но зная параметры, если они полезны, если вы хотите каким-то образом изменить поведение, так как соответствующие справочные страницы показывают, какие другие варианты соответствия доступны.
pkill -9 -f middleman
Опция -f делает ее совпадающей с полной командной строкой, а не только с именем процесса.
Обратите внимание, что -9 должен быть последним сигналом, а не обычным способом .
Просто для удовольствия, я хотел бы добавить более ручной, старый школьный путь
kill -9 `ps aux | grep middleman | awk '{print $2}'`
killall -9 -ir regex_pattern
, который является интерактивным (безопасным) и соответствует имени частичной команды.