Мне необходимо убить процесс, имя которого трудно задать, т.к. это строка скрипта. Я могу получить информацию о нём выводом команды
ps -ax|grep ..32419 ?? S 0:04.73 ssh -2 -N -g -L .........
но мне для убития необходимо определить ID процесса, а его нужно получить регулярным выражением типа ereg 'ШАБЛОН' для подстановки kill.
Я правильно мыслю? Как получить только первые цифры строки для последубщей обработки? Может, есть другой способ?
В sh/bash
pid=`ps -ax|grep .. | grep -v grep | awk '{print $1}'`
или
pid=$(ps -ax|grep .. | grep -v grep | awk '{print $1}')kill ${pid}
>В sh/bash
>pid=`ps -ax|grep .. | grep -v grep | awk '{print $1}'`
>
>или
>pid=$(ps -ax|grep .. | grep -v grep | awk '{print $1}')
>
>
>kill ${pid}а еще есть pkill
$ man pkill
pgrep, pkill - look up or signal processes based on name and other attributes
>Мне необходимо убить процесс, имя которого трудно задать, т.к. это строка скрипта.
>Я могу получить информацию о нём выводом команды
>ps -ax|grep ..
>
>32419 ?? S 0:04.73 ssh
>-2 -N -g -L .........
>
>но мне для убития необходимо определить ID процесса, а его нужно получить
>регулярным выражением типа ereg 'ШАБЛОН' для подстановки kill.
>
>Я правильно мыслю? Как получить только первые цифры строки для последубщей обработки?
>Может, есть другой способ?pid=$(ps -ax | grep .. | ( read a b; echo $a ))
echo $pid