Всем добрый день,Не могли бы Вы подсказать, как можно составить shell-скрипт, который бы запускал приложение и в случае, если оно прерывает работу автоматически запускал его заново.
Заранее спасибо,
буду благодарен любым ссылкам по теме.
>Всем добрый день,
>
>Не могли бы Вы подсказать, как можно составить 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
Большое спасибо!Скрипт удачно заработал.
>Большое спасибо!
>
>Скрипт удачно заработал.А не должен был бы :) ибо нужно в проверку добавить grep -v grep
>>Большое спасибо!
>>
>>Скрипт удачно заработал.
>
>А не должен был бы :) ибо нужно в проверку добавить grep
>-v grepСовершенно верно. Нужно отфильтровывать вероятное ложное срабатывание. Но я лишь принцип описать пытался.
>Всем добрый день,
>
>Не могли бы Вы подсказать, как можно составить shell-скрипт, который бы запускал
>приложение и в случае, если оно прерывает работу автоматически запускал его
>заново.
>
>Заранее спасибо,
>буду благодарен любым ссылкам по теме.Есть программа monit (http://www.tildeslash.com/monit/) - может контролировать приложения по куче параметров и еще кучу всего, на сайте есть примеры для мониторинга большинства распостранненых приложений (http://www.tildeslash.com/monit/doc/examples.php). Пользуюсь больше года, очень удобно.
Спасибо, посмотрел, решил пока не ставить из-за одного демона :)
>Спасибо, посмотрел, решил пока не ставить из-за одного демона :)
pidof $APP