2011-12-28 5 views

ответ

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

Использовать новый синтаксис '$()': 'kill $ (ps -e | grep dmn | awk '{print $ 1}') '. – Stratus3D

+4

fwiw для других, мне пришлось изменить этот ответ, чтобы заставить его работать: 'kill $ (ps -efw | grep dmn | grep -v grep | awk '{print $ 2}')' не уверен, почему и не заботится слишком Посмотрите дальше. – joshweir

+1

@joshweir Это потому, что иначе 'kill' пытался убить даже процесс grep, который пытался найти шаблон – meain

13

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

pkill dmn 

, если ваша система имеет pkill command.

+0

+1 за pkill вместо killall. Он доступен на нескольких платформах без разного «значения» ([killall] (http://bama.ua.edu/cgi-bin/man-cgi?killall) в Solaris эквивалентен [killall5] (http: // linux. die.net/man/8/killall5) в Linux, например, то есть, убить * ВСЕ * процессы) – plundra

+0

pkill -9 -f [d] mn – Mitch1077487

27

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

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

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

+11

Вы можете избежать появления grep в своем grep, поставив первый символ внутри скобок, например: grep [d] mn – Oldskool

+1

@Oldskool Ницца. Использование метасимволов, чтобы регулярное выражение grep не соответствовало самому себе, - хорошая идея. – jcollado

+0

@Oldskool, +1, вы гений! – jcr

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

привет друзья .. мы можем сделать это с помощью для цикла.

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

поэтому вы можете использовать вышеуказанную команду.

Спасибо.

4

Просто добавить на других, но я люблю использовать регулярные выражения потенциала особенности AWK в:

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

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

+1

Если у вас есть 'pgrep', почему бы не просто' pkill -f dmn'? – muru

1

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

kill -9 $(pidof dmn) 
-1

Для этой цели я создал сценарий питона

#!/usr/bin/python3 
from os import system as sy 
from sys import argv 
sy("ps ax | ag "+argv[1]+" | awk '{print $1}' | xargs kill 9") 
Смежные вопросы