[PINGUIN] Meldungen und Verständnisproblem von start-stop-daemon im skeleton
Sebastian Dellit
sebo at blindzeln.de
Mi Okt 31 13:52:43 CET 2007
Hallo Pinguin Leser und Leserinnen,
um es irgendwann mal zu lernen, habe ich noch einmal versucht, meine
Start-Stop-Skripte, welche ich vorehrst ohne start-stop-daemon
erstellt hatte, nun mit start-stop-daemon zu nutzen.
Dazu habe ich das skeleton Beispielskript genutzt. Starten möchte ich
damit, als erstes, den AudioQuake Server. Nach ein wenig studieren der
start-stop-daemon Optionen habe ich es geschafft, das das Skript an
sich funktioniert. Nur leider habe ich noch einige Probleme beim
Verständnis, und zusätzlich würde ich auch gern eine Meldung sehen,
wenn möglich.
Zum Originalskript hin, habe ich noch ein paar Optionen (DAEMON_ARGS)
hinzugefügt, und diese for den Start des eigentlichen DAEMONS -
anstatt danach - gesetzt. Im Skript selber gibt es Stellen, die mir
noch unklar sind. Zum einen, tauchen an mehreren Stellen ...
#
# Function that starts the daemon/service
#
do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
|| return 1
\ in einer Zeile, und || in einer anderen auf. Warum? Mit \ wird doch
das nächste Zeichen so maskiert, dass es von der Shell nicht
ausgewertet wird. | steht norm. für die Weitergabe der Ausgabe an das
Folgende. Nur warum wird hier nichts mit einem \ escaped und irgendwas
an return, was ja eigentlich der Rückgabewert sein sollte,
weitergegeben. wobei ich vermute, das || nicht das selbe wie | ist.
Oder wird mit dem \ das erste der beiden | escaped?
*verwirrt*
start-stop-daemon --start --quiet --pidfile $PIDFILE $DAEMON_ARGS --exec $DAEMON -- \
+gamedir id1 -heapsize 32000 \
Hier sind in einer Zeile -- (zwei Bindestriche) zu finden. Auch da verstehe ich den Sinn
nicht.
Nun würde ich auch gerne auf dem Bildschirm die Meldungen sehen, also
ob das starten etc. erfolgreich war. Wenn ich den Code an sich richtig
verstehe, so gibt es erst einmal max. rückgabewerte, anhand deeren die
Ausgaben erstellt werden könnten. Im Skript selber sehe ich jedoch nur
ein echo, welcher die Nutzung des Skripts betrifft. Muss ich nun noch
die Meldungen selber Erstellen, oder übersehe ich was? Vermutlich
dient ...
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
Für Einträge im Log zuständig. Oder kann man diese auch ohne
Probleme für die Ausgabe auf dem Bildschirm nutzen? Oder
gbrauch ich am Ende nur ein echo "$VERBOSE" machen?
Vielen Dank für Hinweise und Anregungen. :-)
--
Viele Grüße Sebastian
ICQ: 264706583 | MSM: sebo at blinzeln.de | Skype: sebo_de
E-Mail: sebo at blindzeln.de | Web: www.blindzeln.de