LINUX.ORG.RU

Проверка наличия запущенного приложения

 нечто


0

2

Сабж. Суть такова: например, запускается особая команда, в параметрах которой указывается приложение и ключи его запуска, если же приложение вылетело или перестало отвечать, наша особая команда перезапустит его, или запустит заново. Существует ли такое в природе?

Заранее благодарю за ответ.

Забыл сказать: необходим запуск от пользователя и без вписывания программ в конфиги.

★★★★★

Последнее исправление: IPR (всего исправлений: 1)

Ответ на: комментарий от kostik87

Костыль, работает раз в минуту.
---

перезапустит его, или запустит заново

What's the difference?

tiandrey ★★★★★
()
Последнее исправление: tiandrey (всего исправлений: 1)

Можно что-нибодь вроде:

while [ 1 ]; do echo "Please, stop me!"; done

+ какой-либо скрипт, проверяющий «зависло» ли приложение и убивающий его процесс.

drake
()
Ответ на: комментарий от IPR

Вылетело - процесс перестал существовать, это понятно. Что значит «зависло» с точки зрения другого процесса?

tiandrey ★★★★★
()

тут уже накидали ссылок, но при нужности особо извращённого, такое сранвительно легко на сях написать по образцу и подобию, дальше только за фокром следи и каналом проверки «отвечания», я так понимаю, самый просто сопсобо - это UNIX сокет.

mumpster ★★★★★
()

приложение вылетело или перестало отвечать

Смотря какое приложение и как ты его запускаешь. Есть такой сигнал HUP. Например mplayer двести лет назад в ответ на него выдавал своё состояние в stdout (я так к screen'у прикрутил горячую клавишу типа «что сейчас играет»).

Если прога твоя, то юзай IPC.

Ну а так cron.

anonymous
()
Ответ на: комментарий от IPR

Если только вылетело, то цикл на bash и хватит:

while : ; do КОМАНДА_ЗАПУСКА_ПРИЛОЖЕНИЕ ключи ; done

Понятно, что приложение не должно демонизироватся.

mky ★★★★★
()

Всем спасибо, напишу на shell.

IPR ★★★★★
() автор топика
Ответ на: комментарий от outtaspace

Спасибо, это похоже то что надо.

IPR ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.