Как убить все процессы с заданным частичным имя?
Я хочу убить все процессы, которые я получаю:
ps aux | grep my_pattern
Как это сделать?
это не работает:
pkill my_pattern
10 ответов:
использовать
pkill -f
, который соответствует шаблону для любой части командной строкиpkill -f my_pattern
убить все процессы, соответствующие строке "myProcessName":
один лайнер:
ps -ef | grep 'myProcessName' | grep -v grep | awk '{print }' | xargs -r 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 }')