Как автоматически рестартировать сервис, если он периодически крашится?

Здравствуйте.

Есть один сервис в /etc/init.d который иногда дохнет (ddclient, но суть не важна)
Соответственно
/etc/init.d/ddclient status
* status: crashed

Есть ли какой-нибудь способ заставить init автоматически рестартировать его в таком случае?
Без прикручивания костылей вроде цикла в init-скрипте или периодической проверки кроном.
Используется openrc-0.2.5

З.Ы. Вот помню, когда ещё всем рулил /etc/inittab, там была опция какаято, вроде respawn...

а не будет ли

а не будет ли правильнее выяснить причину падения и уже от этого плясать?

Причина

Причина кроется где-то в глубинах перл-скрипта на 3000-строк(клиент DynDns).
Помирание скрипта происходит из-за частых дисконектов инета.

Я к сожалению не силён в перле и поэтому решил переложить свои заботы на инит:) Хотя чувствую механизма рестарта нет и придётся прикручивать костыль

скорее всего

скорее всего нет,
придётся по крону статус проверять,
либо запустить скрипт в отладке и последить на чём именно он спотыкается...

а гугл молчит о проблемах клиента?

скорее всего нет

iNDiAnFLy написал(а):
скорее всего нет,
придётся по крону статус проверять,
либо запустить скрипт в отладке и последить на чём именно он спотыкается...

Впринципе можно. Только ждать долго.
Комп включен 24 часа в сутки, а вылеты присходят раз-два в неделю.

Цитата:
а гугл молчит о проблемах клиента?

Нашёл на багтрекере проблему, но она не совсем похожа на мою
http://sourceforge.net/tracker/index.php?func=detail&aid=2113169&group_id=116817&atid=676128

А может это

А может это косяк openrc?
Например у меня spamd перезапускается раз в сутки кроном для моих надобностей, так всегда после этого показывает:

/etc/init.d/spamd status
* status: crashed

А всего-то pid у него поменялся, а по ps aux|grep spamd все нормально, все работает...

А с ddclient лучше не по таймеру проверку делать, а при каждом пересоединении, например так:
В файле /etc/conf.d/net прописать что-то типа:

postup() {
[ "${IFACE}" == "ppp0" ] && /usr/sbin/ddclient -daemon=0 &
}

Тогда при каждом реконнекте будет происходить обновление, а не по таймауту, заданному в настройках ddclient. Ну это при условии, что и все прочие натройки ppp тоже прописаны в /etc/conf.d/net и ppp поднимается через /etc/init.d/net.ppp0 start

можешь

можешь попробовать:

* sys-process/daemontools
Available versions: 0.76-r5 [M](~)0.76-r6 {doc selinux static}
Homepage: http://cr.yp.to/daemontools.html
Description: Collection of tools for managing UNIX services

http://cr.yp.to/daemontools/svc.html

выключите уже обязательность заголовков для комментариев

Gogast написал(а):
можешь попробовать:

* sys-process/daemontools
Available versions: 0.76-r5 [M](~)0.76-r6 {doc selinux static}
Homepage: http://cr.yp.to/daemontools.html
Description: Collection of tools for managing UNIX services

http://cr.yp.to/daemontools/svc.html

спасибо, будем смотреть

monit сначала

monit
сначала нада помучаться с конфигурацией и запинанием туда своего скрипта(демона), но когда вкуришь. то утилита мощьная.
если надо чтото ваще тупое, то supervice.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".