Saya mencoba menulis init
config yang akan mengarahkan output daemon saya ke dua file (untuk stdout dan stderr). Masalahnya, itu tidak berfungsi. Saya membaca ini sekarang.
Jadi, saya sudah melakukan skrip shell ini untuk menguji pendekatan ini. Dan itu tidak berfungsi:
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
Tetapi jika Anda memulai ini tanpa membungkus daemon di shell terpisah, itu berfungsi seperti yang dimaksudkan (hanya tanpa pengalihan stderr / stdout):
start-stop-daemon -Sbmv --pidfile $PIDFILE --chdir ${DAEMON_DIR} --exec $DAEMON -- ${DAEMON_ARGS}
Pertanyaannya adalah: mengapa skrip pertama tidak berfungsi? Sistem adalah Debian Lenny, start-stop-daemon
versi 1.14.29