У меня есть приложение, которое запускается под учетной записью пользователя (основанное на Plack), и ему нужен сценарий инициализации.
Это кажется простым как " sudo $ user start_server ... ". Я только что написал сценарий LSB с использованием start-stop-daemon, и он действительно неуклюжий и многословный. Это не похоже на правильный путь.
После небольшого осмотра и просмотра журнала примеров я все еще не уверен, как лучше всего это сделать, и нет связного руководства, которое бы я нашел.
Сейчас я работаю с:
start-stop-daemon --background --quiet --start --pidfile $PIDFILE \
--make-pidfile --chuid $DAEMONUSER \
--exec $DAEMON -- $DAEMON_OPTS
С DAEMON и DAEMON_OPTS как:
DAEMON="/home/mediamogul/perl5/perlbrew/perls/current/bin/start_server"
DAEMON_OPTS="--port $PORT -- starman --workers $WORKERS /home/mediamogul/MediaMogul/script/mediamogul.psgi"
Затем мне нужно настроить способ обнаружения запуска, потому что это сценарий Perl, поэтому perl отображается как команда, а не как «start_server».
(Я бегу это из Perlbrew для этой учетной записи пользователя, поэтому он полностью отделен от системного Perl, поэтому пути указывают на perl в пользовательском каталоге)
Действительно ли это лучший способ сделать это? Мне это кажется очень неуклюжим, но я не админ.