[решено]Перезапуск программы в случае её закрытия.

Модератор: Модераторы разделов

Ответить
aleksnsk
Сообщения: 180

[решено]Перезапуск программы в случае её закрытия.

Сообщение aleksnsk »

Запустили программу programm из консоли.
Как сделать её автоматический перезапуск в случае её закрытия (прога самописная, бывает сама вылетает)?
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450
Контактная информация:

Re: [решено]Перезапуск программы в случае её закрытия.

Сообщение Sleeping Daemon »

aleksnsk писал(а):
04.03.2014 08:21
Запустили программу programm из консоли.
Как сделать её автоматический перезапуск в случае её закрытия (прога самописная, бывает сама вылетает)?

Циклически проверять, есть процесс, или нет. Как процесса нет - перезапуск.
Спасибо сказали:
aleksnsk
Сообщения: 180

Re: [решено]Перезапуск программы в случае её закрытия.

Сообщение aleksnsk »

Sleeping Daemon писал(а):
04.03.2014 08:27
Циклически проверять, есть процесс, или нет. Как процесса нет - перезапуск.

Проверка:

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

if [[ $(pgrep programm) ]]; then
   echo "programm is running";
else
   echo "Not Running, so I must do something";
   /home/user/qt/1/autotraf/untitled
fi

Через crontab не удобно? сделаю через while.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [решено]Перезапуск программы в случае её закрытия.

Сообщение Bizdelnick »

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

while true
  do
    program
  done
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: [решено]Перезапуск программы в случае её закрытия.

Сообщение drBatty »

Bizdelnick писал(а):
04.03.2014 10:31
while true
do
program
done

ИМХО лучше так:

$

while program; do :; done


а то ваш вариант остановить проблематично. Да и в случае fail'а он всё равно будет крутиться.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [решено]Перезапуск программы в случае её закрытия.

Сообщение Bizdelnick »

drBatty писал(а):
04.03.2014 10:34
ИМХО лучше так:

Можно и так.

drBatty писал(а):
04.03.2014 10:34
а то ваш вариант остановить проблематично.

Ctrl+C

drBatty писал(а):
04.03.2014 10:34
Да и в случае fail'а он всё равно будет крутиться.

Вот нужен ли перезапуск в случае фейла - это пусть ТС решает. Если нужен (а я понял именно так), то мой вариант (вероятно, есть смысл в него sleep добавить), если не нужен - то этот.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: [решено]Перезапуск программы в случае её закрытия.

Сообщение drBatty »

Bizdelnick писал(а):
04.03.2014 10:38
Ctrl+C

работает через раз.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: [решено]Перезапуск программы в случае её закрытия.

Сообщение drBatty »

Bizdelnick писал(а):
04.03.2014 10:38
Если нужен (а я понял именно так), то мой вариант (вероятно, есть смысл в него sleep добавить), если не нужен - то этот.

по уму надо проверять код возврата, и если он ≠0, то что-то делать. Что именно -- да, нам неведомо, но думаю НЕ запускать по новой. Даже если это киоск, есть смысл отправить весточку администратору.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Ответить