Я использовал Daemontools, чтобы предоставить простой и надежный способ контроля сервисов Unix на моих серверах. Это работает хорошо, но требует другого мышления ( The DJB Way ), и некоторые распространенные жалобы:
- Временные метки на основе TAI64N
- Не хранит скрипты в /etc/init.d (или (/usr/local)/etc/rc.d)
- Не всегда работает с такими скриптами, как apachectl. Некоторые сценарии необходимо переписать.
Я помню, что некоторые похожие демоны «supervisor / watchdog» были в работе около двух лет назад, но некоторые все еще были немного грубыми по краям.
Если вы перешли с Daemontools на что-то другое, что вы выбрали и хорошо ли это сработало для вас? RedHat или Ubuntu поставляются с какими-либо утилитами супервизора процессов по умолчанию?
источник
runsv
команда fromrunit
поддерживает пользовательские элементы управления, поэтому перезапуск может быть реализован в терминах собственных двоичных элементов управления демона.Ну, есть рунит . Я не могу сказать вам, в чем его отличие и сходство с daemontools, но, судя по веб-сайту Berstein-esque, я бы сказал, что есть определенное влияние Бернштейна.
источник
Fedora, похоже, готова перейти на systemd: http://0pointer.de/blog/projects/systemd.html
источник
В качестве альтернативы уже упоминавшемуся
daemonize
иdaemontools
, есть команда daemon пакета libslack.daemon
вполне настраивается и заботится обо всех утомительных вещах демона, таких как автоматический перезапуск, ведение журнала или обработка pidfile.источник
Там супервизор
источник
Есть также инструмент- демон libslack, написанный на C и доступный для различных (Unix) платформ.
Он достаточно настраивается и заботится обо всех утомительных вещах демона, таких как автоматический перезапуск, ведение журнала или обработка pidfile.
источник
Ubuntu поставляется с Upstart - я мало что знаю об этом, но знаю, что у него есть возможности «супервизора». Apple, запуск программ является еще одним вариантом (что Википедия статья имеет хороший «Смотри также» раздел , который перечисляет кучу других тоже, в том числе и Upstart RunIt).
У всех них есть свои плюсы и свой особый бренд übersuck - всякий раз, когда кто-то спрашивает меня о программах «супервизор процесса» / «сторожевой пес», я всегда задаю один и тот же вопрос: зачем он вам нужен?
источник
Для этого нет популярных / общедоступных инструментов для достижения консенсуса, потому что каждый, кто идет этим путем, понимает, что это тупик. Если ваши долго выполняющиеся процессы слишком часто терпят неудачу, чтобы простой мониторинг был достаточно хорошим, прекратите их использовать и поместите свой код в нечто, что будет в большей степени зависеть от событий.
редактировать: как указывает Крис ниже, иногда вы полностью загнаны в угол, и в этом случае задание * / 1 cron, которое ищет файл процесса / pidfile, запускает запуск / перезапуск, если его не хватает, и выводит результаты в электронном письме ответственному лицу. Разработчик / продукт-менеджер - это ваша запасная позиция.
источник