из вопроса.
я есть приложение, которое выполняется в учетной записи пользователя (на основе 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="--p,ort $PORT -- starman --workers $WORKERS /home/mediamogul/MediaMogul/script/mediamogul.psgi"
Затем мне необходимо настроить способ обнаружения запуска, потому что это скрипт на perl, поэтому perl отображается как команда, а не как «start_server».
(Я запускаю это из perlbrew для этой учетной записи пользователя, поэтому он полностью отделен от системного perl, поэтому пути указывают на perl в пользовательском каталоге)
Это действительно лучший способ сделать это? Это кажется мне очень неуклюжим, но я не администратор.