Назад | Перейти на главную страницу

s6: как заставить запускать скрипт только один раз?

Пользуюсь s6 (http://skarnet.org/software/s6/), чтобы контролировать несколько процессов.

У меня есть пара услуг в моем /etc/s6/ папку и один из них просто нужно вызвать start действие из сценария init.d.

На данный момент сценарий хорошо запущен, но затем он пытается запускать его снова и снова.

Есть ли способ избежать этого?

Вы можете сделать это с помощью s6, включив s6-svc -O /etc/s6/servicefolder в начале вашего сценария выполнения. Это скажет s6 больше не запускать эту службу.

Источник: https://skarnet.org/software/s6/s6-svc.html

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

Правильное решение вашей проблемы - взять ваш одноразовый скрипт из набора контролируемых служб и запустить его в какой-то момент процедуры инициализации, не пытаясь заставить s6-svscan / s6-supervise управлять им.