LINUX.ORG.RU
ФорумAdmin

Выгрузить respawn-контроллируемый процесс

 , ,


0

1

Приветствую Вот собственно хочется странного. Есть демон, грузится init-ом в on-demand runlevel-е под контролем respawn, в inittab это описано так:

da00:a:respawn:/usr/bin/daemonapp

Соответственно пуск выполняется командой telinit a Теперь вопрос: как остановить корректно вот этот вот демон? Точнее так: как заставить init больше не поднимать задачу da00 без собственно редактирования inittab?

★★★★

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

Нету его больше, завершился, попутно освободив все ресурсы (память, открытые файлы, сокеты). Мне не нужен он замороженный «в процессе», мне нужно что-бы он корректно завершился и его больше не подняли до особого распоряжения.

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

Ты используешь неподходящие инструменты и хочешь странного. Не нужно, чтобы init перезапускал процесс - удали запись из inittab и сообщи init, чтобы он перечитал конфигурацию.

tailgunner ★★★★★ ()

Если это единоразовая операция, я бы поцесс заморозил, как Ctrl+z. Если не одноразовая - соглашусь с оратором выше о том, что нужно что-то менять в inittab и методах запуска процесса. Благо это делается скриптом строк на 7-10.

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

и хочешь странного.

О чем собственно уведомил заранее, тегом.

Ты используешь неподходящие инструменты

Исходная задача:
Есть архиважный демон(ы), которому нужно обеспечить 100% аптайм. Т.е. в случае падения поднять сразу.
Собственно init как нельзя лучше подходит для решения этой задачи: respawn-контролируемый процесс будет поднят чуть что так сразу. Запуск демона проще некуда: telinit a.
Но встает вопрос: как остановить(для профилактики например)? Демону можно сказать «приказать» но добросовестный init его сразу и поднимет.
Да, знаю, можно с помощью sed + telinit q переучить init на лету(даже пару костылей по этому поводу наваял). Хотелось бы избежать редактирования критических системных файлов. Ибо по закону подлости какраз во время записи в inittab пройдет сбой по питанию, и система останется не бутабельной.

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

Собственно init как нельзя лучше подходит для решения этой задачи

Как следует из чуть менее чем всего материала этого треда, init очень плохо подходит для решения этой задачи.

Самопальный скрипт перезапуска пишется за 15 минут, какой-нибудь monit умеет это из коробки (и не только monit).

tailgunner ★★★★★ ()
Последнее исправление: tailgunner (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.