чтобы найти PID процесса, который нужно убить, используйте:
pgrep <process command>
Затем я использую команду kill, чтобы убить PID, возвращенный pgrep <process command>
kill <PID>
Можно ли объединить эти команды в одну, чтобы убить PID или PID, возвращенные pgrep <process command>
? Или есть способ убить несколько процессов по имени команды?
Что-то типа : kill(pgrep <name of process>)
kill
ps
process-management
голубое небо
источник
источник
pkill
? В качестве альтернативы, вы можете использоватьxargs
.pgrep
страница руководства упоминаетсяpkill
повсеместно (так как 2 команды приходят из одного пакета).Ответы:
Вы можете использовать pkill:
Вы также можете использовать подстановку процесса (хотя это не так ясно):
И вы можете использовать
xargs
:источник
pgrep
иkill
. Просто используйтеpkill
.pkill
получением списка процессов и фактической отправкой сигнала, в этом случае это еще труднее увидеть.kill $(ps|head -1)
чтобы избежать состояния гонки ... но на самом деле нет способа избежать этого. Процесс может умереть в любой точке конвейера.Вы также можете использовать
killall
, например,отправить
SIGTERM
всемfirefox
процессам.источник
killall
у разных Unix-систем разные значения - если вы работаете не в Linux, обязательно ознакомьтесь с документацией.killall -KILL firefox
может чувствовать себя СООО награждение.killall
- вот почему я никогда не использую это. Бегkillall
на поле соляриса, например , катастрофическое.Да, вы можете использовать функцию bash и перебирать вывод.
источник
kill <no>:failed: operation not permitted
Вы можете убить несколько процессов с массивом. В этом случае вы можете указать параметры как
$ip
,$hostname
или что-то подобное.источник