Подтвердить что ты не робот

Как дать аргументы для уничтожения через канал

Мне нужно найти определенный процесс и убить этот процесс. Я написал такую ​​команду:

ps -e | grep dmn | awk '{print $1}' | kill

Где имя процесса dmn. Но это не работает. Как найти процессы по имени и kill им.

4b9b3361

Ответ 1

kill $(ps -e | grep dmn | awk '{print $1}')

Ответ 2

Если есть несколько процессов, которые вы хотите удалить, вы можете использовать это:

ps -efw | grep dmn | grep -v grep | awk '{print $2}' | xargs kill

Примечание. Вам нужно удалить сам процесс grep из вывода, поэтому используется grep -v grep.

Ответ 3

Вы можете использовать

pkill dmn 

если ваша система имеет команду pkill.

Ответ 4

Просто добавление других, но мне нравится использовать возможности awk regex:

kill $(ps | awk '/dmn/{print $1}')

Ответ 5

Если у вас есть команда pidof в вашей системе (я знаю, что оболочки, такие как ZSH, поставляются с этим по умолчанию, если только я не ошибаюсь), вы можете сделать что-то вроде.

kill -9 $(pidof dmn)

Ответ 6

Вы также можете использовать killall:

killall dmn

Ответ 7

for procid in $(ps -aux | grep "some search" | awk '{print $2}'); do kill -9 $procid; done

привет друзья.. мы можем сделать это, используя for loop.

"Некоторый поиск" - это любое имя процесса, которое вы хотите искать, например "java", поэтому допустим, что число процессов java равно 200+, так что убийство один за другим будет слишком типичным.

чтобы вы могли использовать команду выше.

Спасибо.

Ответ 8

Используйте pgrep с опцией -f. kill $(pgrep -f dmn)