Как убить процесс полученный из ps ax | grep ...

[Удален]
3163

Допустим у нас есть процесс в скрине под названием $pid.29, мы его можем обнаружить так:

ps ax | grep "S 29"

S 29 - потому что команда скрина screen -amdS, вот по S на конце можно исключить процессы в которых просто есть "29"...для 100% результата можно написать grep "-amdS".

Но что делать, если нужно убить этот процесс (это для веб панели, которая автоматически это должна делать)? Какую команду написать?

Это вероятно должно выглядеть как-то так

ps ax | grep "S 29" | killall

Но именно так не работает. Подскажите - как правильно?

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#1

kill -9 `ps ax | grep "S 29" | awk '{print $1}'`

$1 - в данном случае номер столбца с PID. У меня в CentOS он первый , при условии что я делаю "ps ax". Если полагаете что процессов будет много, можно killall вместо kill

Есть около 15.000 ipv4 !!! (http://onyx.net.ua/price.php#ipv4) Качественный хостинг с 2005 года - лучшее клиентам! (http://onyx.net.ua/)
[Удален]
#2
Romka_Kharkov:
kill -9 `ps ax | grep "S 29" | awk '{print $1}'`

$1 - в данном случае номер столбца с PID. У меня в CentOS он первый , при условии что я делаю "ps ax".

Спасибо огромное, но ваш первый вариант (ps auxw) был правильнее, по крайней мере для Debian.

M
На сайте с 16.09.2009
Offline
278
#3

Как только люди не извращаются, абы только не читать man ps...

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
[Удален]
#4
myhand:
Как только люди не извращаются, абы только не читать man ps...

Я не понимаю там ничего.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий