Смотрение на использование уничтожает-9 вместо killall

Смотря на использование kill -9 вместо killall использование имени процесса.

Есть ли способ, которым я могу grep или awk pid данного процесса name/s затем уничтожает его, будет kill -9 ? killall сбои много для меня.

Я надеюсь писать сценарий этого для многочисленных удаленных машин.
Имя процесса будет одним из три.
Я хочу использовать что-то как:

sshpass -p 'password' ssh -n $user@$hostname "one liner to use kill -9"

Какие-либо идеи?

1
задан 11 April 2018 в 23:37

1 ответ

Аргумент -9, который вы упомянули, указывает сигнал kill, который должен быть отправлен в рассматриваемый процесс. По умолчанию SIGTERM (завершить приложение), 9 эквивалентно SIGKILL (уничтожить приложение немедленно и наиболее жестоко).

killall принимает аргументы сигнала (например, -9 или -KILL, я предпочитаю символические имена над числами):

killall -KILL processname

В качестве альтернативы, есть pkill, который убивает процессы, которые соответствует заданному шаблону команды, который также принимает аргументы сигнала. Вы можете «просмотреть» то, что будет убито им, используя pgrep -a, в котором перечислены соответствующие прогрессы вместо отправки сигнала и их уничтожения:

pgrep -a processname
pkill processname

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

pgrep -a -f something
pkill -f something

Для получения дополнительной информации посмотрите соответствующие страницы руководства: man kill, man killall, man pkill для различных команды kill и man 7 signal для обзора доступных сигналов.

6
ответ дан 3 December 2019 в 06:29

Другие вопросы по тегам:

Похожие вопросы: