Я часто вижу start on runlevel [2345]
в сценариях инициализации Upstart, но иногда (например, Вот) Я вижу, что для определения времени начала используются другие события. Как мне узнать, какие события (или коды состояния) следует использовать для данной программы? Например, сейчас я использую только runlevel [2345]
для Postgres и Pgbouncer, но я не уверен, что это лучшая идея.
Вам, вероятно, следует потратить некоторое время на то, чтобы посмотреть на некоторые документация (как правило, хороший совет для чего угодно), поскольку это действительно зависит от вашего сервиса и его требований. Не существует общего «лучшего», только то, что соответствует требованиям вашего сервиса.
Разница в том, следует ли использовать более общий «уровень выполнения» или более явные локальные файловые системы (7) и события net-device-up, должна определяться поведением вашего задания. Если ваша служба появится без действующего сетевого интерфейса (например, она привязывается к 0.0.0.0 или использует setsockopt (2) SO_FREEBIND), то событие уровня запуска предпочтительнее, так как ваша служба будет запускаться немного раньше и запускаться параллельно. с другими услугами.
Однако, если ваша служба требует, чтобы по какой-то причине был настроен интерфейс без обратной связи (т. Е. Он не будет запускаться без возможности широковещательной передачи), тогда может помочь явное указание «как только подключится устройство без обратной связи» ...