завершение процесса с помощью pid с использованием одной строки

#shell

#оболочка

Вопрос:

У меня есть несколько процессов с аналогичным ключевым словом. Я должен убить весь процесс одним выстрелом. Нравится

   ps -ef |grep raj
root      3129     1  0 15:32 ?        00:00:00 /usr/lib/raj/msisdn
root      3165     1  0 15:36 ?        00:00:00 /bin/sh /usr/lib/raj/raj-1.sh
root      3166  3165  0 15:36 ?        00:00:00 /usr/lib/raj/raj-2
root      3170  2236  1 15:36 pts/0    00:00:00 grep raj
  

Я слышал, что это можно сделать с помощью awk. Мне нужна одна линейная команда для уничтожения всего процесса 🙂

Комментарии:

1. Например, получение одних pid-идентификаторов и уничтожение всех этих pid..

2. Этот вопрос, вероятно, относится к serverfault.com

Ответ №1:

Как насчет:

 pgrep -f raj | xargs kill
  

Я бы рекомендовал запустить

 pgrep -f raj | xargs ps
  

во-первых, чтобы убедиться, что вы уничтожаете правильные процессы.

РЕДАКТИРОВАТЬ: если вы хотите использовать awk, попробуйте:

 ps -ef | grep raj | awk '{print $2}' | xargs kill
  

но это более подробно, чем pgrep и kill.

Комментарии:

1. pkill -9 -f raj еще короче