Как убить все процессы с заданным частичным имя?


Я хочу убить все процессы, которые я получаю:

ps aux | grep my_pattern

Как это сделать?

это не работает:

pkill my_pattern
10 445

10 ответов:

использовать pkill -f, который соответствует шаблону для любой части командной строки

pkill -f my_pattern

убить все процессы, соответствующие строке "myProcessName":

один лайнер:

ps -ef | grep 'myProcessName' | grep -v grep | awk '{print }' | xargs -r kill -9

Источник: http://www.commandlinefu.com/commands/view/1138/ps-ef-grep-process-grep-v-grep-awk-print-2-xargs-kill-9

Если вам нужна большая гибкость в выборе процессов используйте

for KILLPID in `ps ax | grep 'my_pattern' | awk ' { print ;}'`; do 
  kill -9 $KILLPID;
done

вы можете использовать команду grep -е и т. д.

вы можете использовать следующую команду, чтобы перечислить процесса

ps aux | grep -c myProcessName 

Если вам нужно проверить количество этого процесса, то запустите

ps aux | grep -c myProcessName |grep -v grep 

после чего вы можете убить процесс, используя

kill -9 $(ps aux | grep -e myProcessName | awk '{ print  }') 

также вы можете использовать killall -r my_pattern. -r интерпретировать шаблон имени процесса как расширенное регулярное выражение.

killall -r my_pattern

Если ты судишь pkill -f PATTERN слишком опасно, я писал ezkill сценарий bash, который предложит вам выбрать, какие процессы среди тех, которые соответствуют шаблону, который вы хотите убить.

вы можете использовать следующую команду, чтобы

kill -9 $(ps aux | grep 'process' | grep -v 'grep' | awk '{print }')

звучит плохо?

 pkill `pidof myprocess`

пример:

# kill all java processes
pkill `pidof java`

Вы можете использовать следующие команды:

ps -ef | grep -i myprocess | awk {'print '} | xargs kill -9

или

ps -aux | grep -i myprocess | awk {'print '} | xargs kill -9

это работает для меня.

Если вы не хотите принимать головную боль от поиска идентификатора процесса, используйте регулярное выражение, чтобы убить процесс по имени. Например, чтобы убить Chrome следующий код будет делать трюк.

killall -r --regexp chrome