start-stop-daemon beendet Daemon nicht

24/08/2008 - 18:38 von Ingmar Hellhoff | Report spam
Liebe Linuxprofis,

ich hoffe ich bin hier nicht off topic. Vorweg: Ich habe keine große
Ahnung von Systeminterna, Scriptprogrammierung u.à.

Ich brauche von Euch einen Denkanstoß. (Debian Etch) Folgendes Problem:
Ich starte per start-stop-daemon ein Shellscript, welches den Button
einer externen Lacie-Festplatte überwacht und bei Tastendruck ein
weiteres Script startet. Die Datei /etc/init.d/lacie sieht wie folgt aus:

#! /bin/sh
### BEGIN INIT INFO
# Provides: lacie
# Required-Start:
# Required-Stop:
# Default-Start: 1 2 3 4 5
# Default-Stop: S 0 6
# Short-Description: Check the Lacie-Button
# Description:
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON="/usr/local/bin/lacied"
NAME="lacied"
DESC="Lacie-button monitor"
PID="/var/run/lacie.pid"
set -e
test -x $DAEMON || exit 0

. /lib/lsb/init-functions

case "$1" in
start)
log_daemon_msg "Starting $DESC" "$NAME"
start-stop-daemon --start --pidfile $PID --make-pidfile --quiet --exec
$DAEMON
log_end_msg $?
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
start-stop-daemon --stop --oknodo --quiet --pidfile $PID --exec $DAEMON
-n $NAME
log_end_msg $?
;;
restart|force-reload)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart|force-reload}" >&2
exit 1
;;
esac

exit 0


/usr/local/bin/lacied sieht folgendermaßen aus:

#!/bin/bash

input-events -t 2147483647 2 2>&1 |
while read -s ; do
grep -q 'EV_KEY BTN_0 pressed' && /usr/local/bin/mountlacie
sleep 2
done &

Funktioniert soweit auch alles bestens. Das Problem ist nur, daß nach
/etc/init.d/lacie stop ps noch immer einen laufenden Prozeß "lacied"
anzeigt. Nach dem nàchsten Start via /etc/init.d/lacie start und
folgendem stop finden sich dann zwei Prozesse usw. Was mach ich falsch?
Weshalb kann der start-stop-daemon lacied zwar starten, aber nicht
beenden? Was muß ich tun, damit das ganze funktioniert?

Schon mal herzlichen Dank
Ingmar
 

Lesen sie die antworten

#1 Enrik Berkhan
25/08/2008 - 20:38 | Warnen spam
Ingmar Hellhoff wrote:
Ich brauche von Euch einen Denkanstoß. (Debian Etch) Folgendes Problem:
Ich starte per start-stop-daemon ein Shellscript, welches den Button
einer externen Lacie-Festplatte überwacht und bei Tastendruck ein
weiteres Script startet. Die Datei /etc/init.d/lacie sieht wie folgt aus:



Welche PID hat dein lacied nach dem Start? Welche PID steht im
Pidfile?

Lies in der man-page von start-stop-daemon noch einmal den Abschnitt
zu --make-pidfile.

Gruss,
Enrik

Ähnliche fragen