URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 57719
[ Назад ]

Исходное сообщение
"как можно убить сразу несколько процессов, не могу обрабоать в bash-e "

Отправлено olegs , 27-Июн-05 13:22 
Возникает ситуация килять некотрое кол-вопроцессов. Вот так вывожу их pid, что бы потом килять ручками, но хотелось бы как-то это дело обработать и килять из скрипта. Список процессов получаю так: ps -ax | grep "LOCAL" | awk '{print $1}'

Содержание

Сообщения в этом обсуждении
"как можно убить сразу несколько процессов, не могу обрабоать..."
Отправлено Moralez , 27-Июн-05 13:40 
killall (в linux/freebsd)

"как можно убить сразу несколько процессов, не могу обрабоать..."
Отправлено Chris , 27-Июн-05 14:28 
kill -9 `ps awx | grep LOCAL | awk '{print $1}'`

"как можно убить сразу несколько процессов, не могу обрабоать..."
Отправлено Gennadi , 27-Июн-05 20:50 
>kill -9 `ps awx | grep LOCAL | awk '{print $1}'`


Вот такой скриптик?  "ps_kill.sh"

Подправь под свои нужды.....

======================================================================
#!/bin/bash
#
ARG="$1"
PID="$2"
PID_DIR="/var"
#
count=0
APL_RUN=`ps aux | grep $ARG | awk '{print $2}'`

while [ "$APL_RUN"  ] ; do
    sleep 1
    count=`expr $count + 1`
    echo ".. waiting "$count" seconds"
    if [ $count -eq 1 ] ; then
        rm `find $PID_DIR -name $PID`
        
        for i in `ps aux | grep $ARG | awk '{print $2}'`; do
        kill -9 $i
        done
        exit
    fi
    APL_RUN=`ps aux | grep $ARG | awk '{print $2}'`
done
echo -n "Aplication killed completed"
=========================================================================

linux:~ # rcapache2 status
Checking for httpd2:                                  running

linux:~ # ./ps_kill.sh httpd2-prefork httpd2.pid
.. waiting 1 seconds
Killed

linux:~ # rcapache2 status
Checking for httpd2:                                  unused
linux:~ #



"как можно убить сразу несколько процессов, не могу обрабоать..."
Отправлено olegs , 29-Июн-05 09:10 
>>kill -9 `ps awx | grep LOCAL | awk '{print $1}'`
>
>
>Вот такой скриптик?  "ps_kill.sh"
>
>Подправь под свои нужды.....
>
>======================================================================
>#!/bin/bash
>#
>ARG="$1"
>PID="$2"
>PID_DIR="/var"
>#
>count=0


Cпасибо, то что нужно !!!
>APL_RUN=`ps aux | grep $ARG | awk '{print $2}'`
>
>while [ "$APL_RUN"  ] ; do
> sleep 1
> count=`expr $count + 1`
> echo ".. waiting "$count" seconds"
> if [ $count -eq 1 ] ; then
>  rm `find $PID_DIR -name $PID`
>
>  for i in `ps aux | grep $ARG | awk
>'{print $2}'`; do
>  kill -9 $i
>  done
>  exit
> fi
> APL_RUN=`ps aux | grep $ARG | awk '{print $2}'`
>done
>echo -n "Aplication killed completed"
>=========================================================================
>
>linux:~ # rcapache2 status
>Checking for httpd2:          
>          
>          
>  running
>
>linux:~ # ./ps_kill.sh httpd2-prefork httpd2.pid
>.. waiting 1 seconds
>Killed
>
>linux:~ # rcapache2 status
>Checking for httpd2:          
>          
>          
>  unused
>linux:~ #