Есть ли какое-то совпадение функциональности выскочки и супервизора?
У меня есть Java-процесс, который мне нужно запускать при загрузке, а также контролировать этот процесс, чтобы убедиться, что он продолжает работать (попробуйте перезапустить его, если он выйдет из строя).
Могу ли я использовать выскочку для обоих этих требований, или мне нужно будет использовать как выскочку, так и супервизора?
Вы можете использовать выскочку, чтобы запустить процесс при загрузке и перезапустить его, если он завершится. В Поваренная книга Upstart является довольно всеобъемлющим, и последняя функциональность задокументирована в респаун
Если у вас есть Upstart, то, скорее всего, это уже корневой процесс в системе (это не обязательно, но обычно есть). Это означает, что он запускает ваше приглашение, а также все службы.
Supervisor умеет делать то же самое, а также управлять группами программ (запускать / останавливать как группу и т. Д.) И использовать RPC для удаленного управления программами.
Если вы не пользуетесь двумя последними функциями, реальной выгоды нет. Однако, если вы используете Supervisor, Это должно с чего-то начинаться. Вы можете запустить его из rc.local, но тогда он станет вашей вероятной точкой отказа.