Ich verwende einen Start-Stop-Daemon, um ein INIT-Skript für mein Skript zu erstellen. Ich verwende --make-pidfile, weil mein Skript keine eigene PID erstellt. Ich kann mein Skript mit start starten und die PID-Datei mit der entsprechenden PID erstellen. Aber die Stoppfunktion funktioniert nicht. Wie im Start-Stop-Daemon-Handbuch beschrieben,
--stop Überprüft, ob ein bestimmter Prozess vorhanden ist. Existiert ein solcher Prozess, sendet der Start-Stop-Daemon das durch --signal angegebene Signal und beendet das Programm mit dem Fehlerstatus 0. Existiert ein solcher Prozess nicht, beendet der Start-Stop-Daemon das Programm mit dem Fehlerstatus 1 (0, wenn - -oknodo ist angegeben). Wenn --retry angegeben ist, prüft start-stop-daemon, ob die Prozesse beendet wurden.
Ich habe keine Dokumentation für --signal selbst gefunden. Wie spezifiziere ich --signal, wenn ich ein SIGTERM senden möchte?
case "$1" in
start|debug)
log_daemon_msg "Starting $DESC: $NAME"
start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PIDFILE \
--exec $DAEMON || log_failure_msg " already running"
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping $DESC: $NAME"
start-stop-daemon --oknodo --stop --quiet --pidfile $PIDFILE \
--exec $DAEMON
log_end_msg 0
;;