ユーザーアカウント(Plackベース)で実行するアプリケーションがあり、initスクリプトが必要です。
「sudo$userstart_server...」と同じくらい簡単なようです。start-stop-daemonを使用してLSBスクリプトを作成したところ、非常に不器用で冗長です。それは正しい方法のようには感じません。
少し精査して例のログを見た後、これを行うための最良の方法がまだわかりません。また、私が見つけたまとまりのあるガイドはありません。
今、私はそれを使っています:
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を指しています)
これは本当にこれを行うための最良の方法ですか?私には非常に不格好に思えますが、私は管理者タイプではありません。