LINUX.ORG.RU
ФорумAdmin

Посоветуйте менеджер процессов для linux/freebsd

 ,


0

4

Приветствую!

Нужна программа, которая будет следить за запущенными процессами, перезапускать их в случае падения (и логировать это).

Системный менеджер решительно не подходит, это должна быть отдельная программа.

Хотелки:

1. Логирование на каждый аномальный случай
2. Удобное управление процессами. CLI тоже подходит, лишь бы можно было спокойно зайти, посмотреть список этих процессов и остановить по нужному сигналу.
3. Не очень сложная конфигурация. Скачал, в конфиге указал бинарники которые запускать, работаешь
4. Возможность не просто логировать, а, например, выполнять скрипт на определенные случае. Допустимо отсутствие этой фичи но относительно несложный код на C чтобы я мог сам это поправить/допилить.

★★★★★

Логирование на каждый аномальный случай

Что зп случаи?
Как определяется то, что они произошли?

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

Что зп случаи?

Завершение процесса не по требованию пользователя. Хотелось бы еще более умный сценарий - запускаешь процесс и он сразу (менее чем через секунду) падает с сегфолтом. Логично что постоянно (пере)запускать постоянно падающий процесс бессмысленно, это лишь загрузит одно ядро бесполезной работой.
Либо программа не падает а сразу выходит, выплюнув что-то в stdout. Хотелсь бы не занимать постоянно процессор и оперативно видеть в чем дело.

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

Менеджером? Скорее всего wait()/waitpid()

reprimand ★★★★★
() автор топика
Последнее исправление: reprimand (всего исправлений: 1)
Ответ на: комментарий от reprimand

Эти желания достаточно просты в реализации, подучи bash и утилиту ps и напиши скрипт запуска, мониторинга и перезапуска.

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

Эти желания достаточно просты в реализации

Я ищу готовое и проверенное решение

подучи bash

С чего ты взял что я его не знаю? В любом случае мне не нужна портянка на баше

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

Вотчдогов есть сотни. Их пишут рассчитывая в первую очередь на решение задачи «запустить процесс если он упал».

Я ищу что-то среди них наиболее похожее на то, что описано в шапке.

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

В любом случае мне не нужна портянка на баше

А теперь подумай о силах и времени затрачиваемых на поиск и освоение нужной сторожевой собаки и пойми что проще написать что тебе надо на bash.

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

Подумал.

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

reprimand ★★★★★
() автор топика

то, что ты хочешь, смахивает на monit, но лучше бы тебе взять нормальный инструмент, как тебе уже советуют. monit не от хорошей жизни появился.

hebiro8709
()
Ответ на: комментарий от reprimand

которые в нужный момент глюканут.

Так ты качественно пиши и проверяй работу кода не только в конце, но и по мере напискния, не ленись через echo следить за значениями тех или иных переменных и работу if и while циклов.

Если надо написать особо сложный конвеер или условие то протестируй их работу отдельно в терминале или специальном тестировчном скрипте.

При тщательных написании и отладке bash скрипты на bash вполне себе надёжны.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 2)
Ответ на: комментарий от Bers666

Systemd

Системный менеджер не подходит. Вероятнее всего на целевой системе не будет systemd.

Runit
Supervisord

Спасибо, вроде как раз то что нужно!

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

monit

О! Спасибо, видел в прошлом это название, потом забыл. Сейчас вот никак не мог нагуглить чтобы выйти на него.

monit не от хорошей жизни появился

Можно узнать подробнее? Интересует именно ваше мнение.

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

Можно узнать подробнее? Интересует именно ваше мнение.

тонкий намек использовать не падающие программы :)

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

monit падуч?

Или намек на то что программы которыми буду управлять могут падать? Тут я бы с радостью их не использовал, однако увы, приходится :(

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

моё мнение – и monit, и башпортянки давно пора отправить на свалку истории, systemd – штатный и всем известный механизм. собственно, им бы я и пользовался, но, к сожалению, мои железки для современных линуксов не подходят, приходится развлекаться с тем, что есть

hebiro8709
()

Не знаю как в Linux, а в FreeBSD есть порт daemontools.

Ну и если есть время/желание/умение, можешь взять штатный daemon(8) и накидать нужное над ним (я себе сделал, но в прод такое пихать я бы не стал).

mord0d ★★★★★
()

Нужна программа, которая будет следить за запущенными процессами, перезапускать их в случае падения (и логировать это)

systemd

Системный менеджер решительно не подходит, это должна быть отдельная программа.

systemd-run

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