Ich versuche, eine init
Konfiguration zu schreiben , die die Ausgabe meines Daemons in zwei Dateien umleitet (für stdout und stderr). Das Problem ist, es funktioniert nicht. Ich lese das gerade.
Also habe ich dieses Shell-Skript erstellt, um diesen Ansatz zu testen. Und es funktioniert nicht:
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
Wenn Sie dies jedoch starten, ohne den Daemon in eine separate Shell zu packen, funktioniert es wie beabsichtigt (nur ohne stderr / stdout-Weiterleitungen):
start-stop-daemon -Sbmv --pidfile $PIDFILE --chdir ${DAEMON_DIR} --exec $DAEMON -- ${DAEMON_ARGS}
Die Frage ist: Warum funktioniert das erste Skript nicht? System ist Debian Lenny, start-stop-daemon
Version ist 1.14.29