из вопроса.

я есть приложение, которое выполняется в учетной записи пользователя (на основе 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 в пользовательском каталоге)

Это действительно лучший способ сделать это? Это кажется мне очень неуклюжим, но я не администратор.

Ответы на вопрос(1)

Ваш ответ на вопрос