Страница 1 из 1

Проверить процесс на существование.

Добавлено: 2010-12-03 14:50:54
Cheshirski
Добрый день, стоит задача, проверять один процесс на предмет его существования, набросал такое вот:

Код: Выделить всё

#!/bin/sh

start=`/usr/local/etc/rc.d/xxx.sh start`
stat=`ps -A | grep -c xxx`
if [$stat -eq 0]
    then
     $start
fi
при запуске в консольке, она (консоль) виснит и только получается, что пока не откроешь еще одну консоль и не убьешь процесс она продолжает висеть, процесс же видется как defunction. А требуется всего. проверить процесс и если он есть, ничего тогда не делать, а если нету его, запустить.

Re: Проверить процесс на существование.

Добавлено: 2010-12-03 14:57:16
Alex Keda
man pgrep

Re: Проверить процесс на существование.

Добавлено: 2010-12-03 19:44:11
Гость
man 8 pidof

Re: Проверить процесс на существование.

Добавлено: 2010-12-04 7:58:06
Cheshirski
Спс всем, кто писал про маны, сделал все равно по своему :smile:

Код: Выделить всё

#!/bin/sh

stat=`ps -A | grep -c xxx`
if [ $stat -eq 1 ]
    then /usr/local/etc/rc.d/xxx.sh restart
fi
Работает терь. Но все равно, большое спасибо, буду знать.

Re: Проверить процесс на существование.

Добавлено: 2010-12-04 14:59:56
FreeBSP
ковычки не те

Код: Выделить всё

#!/bin/sh

start="/usr/local/etc/rc.d/xxx.sh start" # вот тут двойные или одинарные нужны. разберись почему и что делают разные типы ковычек
stat=`ps -A | grep -c xxx`
if [$stat -eq 0]
    then
     $start
fi