передача '-9' команде xargs kill

передача '-9' команде xargs kill

Я пишу скрипт для остановки приложения. Иногда приложение не хочет останавливаться. Поэтому после нескольких минут паузы, если приложение все еще работает, я хочу его убить. После нескольких неудачных попыток команды kill я попробовал добавить -9, чтобы принудительно остановить его. Похоже, это не работает. Кто-нибудь знает, как заставить это работать, даже если мне нужно использовать другую команду, я открыт для новых идей. :-)

Ниже приведена моя командная строка:

ps -ef|grep -v grep|grep <process_name>|awk -F' ' '{print $2}' |xargs kill -9

Заранее спасибо.

решение1

Пример того, как закрыть phpпроцессы в пакетном режиме. phpВы можете заменить его, используя любое имя вашего процесса:

ps -aux | grep php | awk '{print $2}' | xargs kill -9

решение2

@muru был прав, но в последнее время я обнаружил, что использование опции '-f' для pkill предпочтительнее. Соответствует всему процессу и списку аргументов. Здесь у нас есть несколько серверов, на которых запущены процессы Tomcat и Logstash (отправляющие данные в Elastic). Поэтому 'kill -9 java' для остановки процесса Tomcat также останавливает процесс Logstash.

pkill -9 -f 'pattern to match'

Пример:

pkill -9 -f '/opt/tomcat/'

Связанный контент