Может кто подскажет я еще в линуксе новичек. Программы фатально закрывается . как написать скрипт контроля за состоянием . она исчезает из процессов. Если закрывать по команде killall то такой срипт сделал там исчезает файл *.pid из /tmp при фатальной файл остается. Очень надо а то надо постоянно пасти чтобы программа не упала.
>Может кто подскажет я еще в линуксе новичек. Программы фатально закрывается .
>как написать скрипт контроля за состоянием . она исчезает из процессов.
>Если закрывать по команде killall то такой срипт сделал там исчезает
>файл *.pid из /tmp при фатальной файл остается. Очень надо а
>то надо постоянно пасти чтобы программа не упала.
>
>А что за программа? Что-то самописное или все-таки более-менее распрстраненное?
Я к тому, что может лучше разобраться ПОЧЕМУ она вылетает?
>>Может кто подскажет я еще в линуксе новичек. Программы фатально закрывается .
>>как написать скрипт контроля за состоянием . она исчезает из процессов.
>>Если закрывать по команде killall то такой срипт сделал там исчезает
>>файл *.pid из /tmp при фатальной файл остается. Очень надо а
>>то надо постоянно пасти чтобы программа не упала.
>>Умеет и не только это
http://www.tildeslash.com/monit/
Программа самомпсанная. До автора не достучаться. Исходников нету.
>>>Может кто подскажет я еще в линуксе новичек. Программы фатально закрывается .
>>>как написать скрипт контроля за состоянием . она исчезает из процессов.
>>>Если закрывать по команде killall то такой срипт сделал там исчезает
>>>файл *.pid из /tmp при фатальной файл остается. Очень надо а
>>>то надо постоянно пасти чтобы программа не упала.
>>>
>
>Умеет и не только это
>http://www.tildeslash.com/monit/
Программа самописанная
>
>Программа самописаннаяА если пид остается а программа вылетела то как
>Может кто подскажет я еще в линуксе новичек. Программы фатально закрывается .
>как написать скрипт контроля за состоянием . она исчезает из процессов.
>Если закрывать по команде killall то такой срипт сделал там исчезает
>файл *.pid из /tmp при фатальной файл остается. Очень надо а
>то надо постоянно пасти чтобы программа не упала.
>
>=====
#!/bin/bashproc="PROC"
PIDFILE=/var/run/${proc}.pid
if [ -f $PIDFILE ] ; then
PID=`head $PIDFILE`if [ "x$PID" != "x" ] && kill -0 $PID 2>/dev/null ; then
RUNNING=1else
RUNNING=0
fi
else
RUNNING=0
fi
if [ $RUNNING -eq 0 ]; thenecho "Starting $proc again..."
/etc/init.d/$proc startcontinue
else
echo "$proc already running"
fi
========подойдет? :)
А если программа не создает файл пида при запуске,,,,
>[оверквотинг удален]
>
> continue
>
> else
> echo "$proc already
>running"
> fi
>========
>
>подойдет? :)
Я может неверно изъясняюсь у меня после запуска не создается файл proc.pid
у меня не проходит команда т.к. не создается файл pidPIDFILE=/var/run/${proc}.pid
Я очень извиняюсь сам только начал изучать Линух. Жизнь застваила.
A если программа не создает файл пида при запуске
>[оверквотинг удален]
>>
>> continue
>>
>> else
>> echo "$proc already
>>running"
>> fi
>>========
>>
>>подойдет? :)
>Я может неверно изъясняюсь у меня после запуска не создается файл proc.pid
>
>Я немогу дать команду head т.к. нет файла с xxx.pid
>[оверквотинг удален]
>>>
>>> continue
>>>
>>> else
>>> echo "$proc already
>>>running"
>>> fi
>>>========
>>>
>>>подойдет? :)
>А если программа не создает файл пида при запускетогда скажи что за софт?
самопал? или чья-то?
если не создается pid и нет возможности указать его создание в *.conf файле, то тогда проверяй его по ps x, и выполняй что нибуть уже по требованию.самы простой пример вот.
#!/bin/bash
set `ps x | grep httpd`
pid=$3
if [ $pid = "Ss" ]
then
echo "Apache started"
else
/etc/init.d/httpd restart
fi
Я примерно так и сделалОгромное спасибо за помощь
>[оверквотинг удален]
>#!/bin/bash
>
>set `ps x | grep httpd`
>pid=$3
>if [ $pid = "Ss" ]
> then
> echo "Apache started"
> else
> /etc/init.d/httpd restart
>fi