init
私のデーモンの出力を2つのファイル(stdoutとstderr)にリダイレクトする構成を記述しようとしています。問題は、機能していないことです。私はこれを今読んでいます。
そこで、このシェルスクリプトを実行して、このアプローチをテストしました。そしてそれはうまくいきません:
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Seed kurokikaze starter"
#NAME=node
DAEMON="/etc/node-version/0.1.99/bin/node"
DAEMON_ARGS="/etc/seed/kurokikaze/server.js"
DAEMON_DIR="/etc/seed/kurokikaze"
APPLOG_FILE="/var/log/seed/kurokikaze"
ERRLOG_FILE="/var/log/seed/kurokikaze-err"
PIDFILE="/var/run/seeds/kurokikaze.pid"
SCRIPTNAME="/etc/seed-init/kurokikaze"
NCMD="exec $DAEMON $DAEMON_ARGS 1>>$APPLOG_FILE 2>>$ERRLOG_FILE"
start-stop-daemon -Sbmv --pidfile $PIDFILE --chdir ${DAEMON_DIR} --exec $DAEMON --startas /bin/sh -- $NCMD
しかし、別のシェルでデーモンをラップせずにこれを開始すると、意図したとおりに機能します(stderr / stdoutリダイレクトなしで)。
start-stop-daemon -Sbmv --pidfile $PIDFILE --chdir ${DAEMON_DIR} --exec $DAEMON -- ${DAEMON_ARGS}
問題は、なぜ最初のスクリプトが機能しないのか、です。システムはDebian Lenny、start-stop-daemon
バージョンは1.14.29です。