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

Исходное сообщение
"shell-скрипт автоматически поднимающий упавшее приложение."

Отправлено Blitz , 12-Янв-06 03:22 
Всем добрый день,

Не могли бы Вы подсказать, как можно составить shell-скрипт, который бы запускал приложение и в случае, если оно прерывает работу автоматически запускал его заново.

Заранее спасибо,
буду благодарен любым ссылкам по теме.


Содержание

Сообщения в этом обсуждении
"shell-скрипт автоматически поднимающий упавшее приложение."
Отправлено dimus , 12-Янв-06 07:27 
>Всем добрый день,
>
>Не могли бы Вы подсказать, как можно составить shell-скрипт, который бы запускал
>приложение и в случае, если оно прерывает работу автоматически запускал его
>заново.
>
>Заранее спасибо,
>буду благодарен любым ссылкам по теме.

Предлагаю следующую стратегию:

1. При помощи ps получить список процессов
2. При помощи grep отфильтровать из него нужную строку. Если отфильтровали успешно - выйти, в противном случае - запустить программу и выйти

Для циклической работы надо засунуть этот скрипт в крон.
Примерный вид скрипта:

#!/bin/sh

APP_PATH=/path/to/app
APP=app
LOG=/path/to/log
DATE=`date`

ps -aux|grep $APP > /dev/null
if [ $? -eq 0 ]
then
    echo "[$DATE] $APP is work" > $LOG
else
    echo "[$DATE] $APP is not work. Try to launch..." > $LOG
    $APP_PATH/$APP
fi


"shell-скрипт автоматически поднимающий упавшее приложение."
Отправлено Blitz , 13-Янв-06 01:46 
Большое спасибо!

Скрипт удачно заработал.


"shell-скрипт автоматически поднимающий упавшее приложение."
Отправлено Pikador , 16-Янв-06 13:31 
>Большое спасибо!
>
>Скрипт удачно заработал.

А не должен был бы :) ибо нужно в проверку добавить grep -v grep


"shell-скрипт автоматически поднимающий упавшее приложение."
Отправлено dimus , 17-Янв-06 10:53 
>>Большое спасибо!
>>
>>Скрипт удачно заработал.
>
>А не должен был бы :) ибо нужно в проверку добавить grep
>-v grep

Совершенно верно. Нужно отфильтровывать вероятное ложное срабатывание. Но я лишь принцип описать пытался.


"shell-скрипт автоматически поднимающий упавшее приложение."
Отправлено jbond , 12-Янв-06 09:34 
>Всем добрый день,
>
>Не могли бы Вы подсказать, как можно составить shell-скрипт, который бы запускал
>приложение и в случае, если оно прерывает работу автоматически запускал его
>заново.
>
>Заранее спасибо,
>буду благодарен любым ссылкам по теме.

Есть программа monit (http://www.tildeslash.com/monit/) - может контролировать приложения по куче параметров и еще кучу всего, на сайте есть примеры для мониторинга большинства распостранненых приложений (http://www.tildeslash.com/monit/doc/examples.php). Пользуюсь больше года, очень удобно.


"shell-скрипт автоматически поднимающий упавшее приложение."
Отправлено Blitz , 13-Янв-06 01:46 
Спасибо, посмотрел, решил пока не ставить из-за одного демона :)

"shell-скрипт автоматически поднимающий упавшее приложение."
Отправлено worker , 20-Янв-06 16:33 
>Спасибо, посмотрел, решил пока не ставить из-за одного демона :)


pidof $APP