runit вызывает скрипт вместо сервисной команды
Возможно ли, что runit
вызывает скрипт вместо прямого вызова сервиса. Например, у меня есть сценарий инициализации для запуска uwsgi
, Могу ли я просто вызвать этот скрипт внутри сценария запуска runit? Заранее спасибо.
2 ответа
"Служба" в ведении runit
на самом деле скрипт, который называется run
и, как правило, находится в DIR, как /etc/sv/your_service/
наряду с некоторыми другими файлами. Так что да, вы можете вызывать ваш скрипт из этого, но я думаю, что было бы лучше изменить ваш скрипт инициализации так, чтобы runit
запускает его как "сервис".
Сценарии инициализации ожидают службы, которую они начинают демонизировать. Runit ожидает, что служба не будет демонизироваться, а будет работать на переднем плане для контроля и подключения к управляющему терминалу. Вот почему initscript не подходит для запуска из службы runit.
Кроме того, демон должен запускаться с exec, иначе runit не сможет подключиться к управляющему терминалу. Это также отсутствует в скрипте инициализации.