Kleines Problem mit dem start-stop-daemon

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
darkiop
Beiträge: 144
Registriert: 29.01.2004 20:12:23

Kleines Problem mit dem start-stop-daemon

Beitrag von darkiop » 11.07.2006 10:46:25

Guten Morgen,

ich habe mir fuer den tss2_rc2 Server ein Initscript geschrieben. Das Starten des Servers ueber dieses Skript funktioniert mittlerweile auch einwandfrei. Allerdings hab ich noch Probleme den Server darueber zu stoppen.

Hier mal die einzelnen Codefragmente:

Starten des Servers:

Code: Alles auswählen

d_start() {
        start-stop-daemon --start --user tss --quiet --pidfile $PIDFILE --make-pidfile --exec $DAEMON -c `id -u tss` -u `id -u tss` 
}
Dadurch wird ein Pidfile unter /var/run angelegt:

Code: Alles auswählen

root |>> l /var/run/tss2_rc2.pid   
-rw-r--r--  1 root root 6 Jul 11 10:40 /var/run/tss2_rc2.pid

10:41:07 - /var/run
root |>> cat /var/run/tss2_rc2.pid 
23863
ps aux liefert folgendes:

Code: Alles auswählen

tss      23867  6.8  0.0 20724 1932 pts/3    SN   10:40   0:01 /opt/tss2_rc2/server_linux
tss      23873  0.0  0.0 20724 1932 pts/3    S    10:40   0:00 /opt/tss2_rc2/server_linux
tss      23874  0.0  0.0 20724 1932 pts/3    S    10:40   0:00 /opt/tss2_rc2/server_linux
tss      23876  0.0  0.0 20724 1932 pts/3    S    10:40   0:00 /opt/tss2_rc2/server_linux
tss      23877  0.0  0.0 20724 1932 pts/3    S    10:40   0:00 /opt/tss2_rc2/server_linux
tss      23889  0.0  0.0 20724 1932 pts/3    S    10:40   0:00 /opt/tss2_rc2/server_linux
tss      23890  0.0  0.0 20724 1932 pts/3    S    10:40   0:00 /opt/tss2_rc2/server_linux
tss      23891  0.0  0.0 20724 1932 pts/3    S    10:40   0:00 /opt/tss2_rc2/server_linux
tss      23892  0.0  0.0 20724 1932 pts/3    S    10:40   0:00 /opt/tss2_rc2/server_linux
Funktion zum Stoppen:

Code: Alles auswählen

d_stop() {
        start-stop-daemon --stop --user tss --quiet --pidfile $PIDFILE --name $NAME
}

Leider werden beim beenden die einzelen Prozesse von dem tss2_rc2 nicht beendet und ich muss immer mit "killall server_linux" nachhelfen. Natuerlich koennte ich das killall einfach in das initscript schreiben, aber das ist ja nicht so die feine Art ;)

Hier nochmal das ganze initscript im Zusammenhang: http://nopaste.php-q.net/224887

Hat vieleicht jemand einen Lösungsvorschlag für mein Problem? Ich bin mit meinem Latein am Ende ;)
Life begins when you accept your fate...

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Kleines Problem mit dem start-stop-daemon

Beitrag von gms » 11.07.2006 11:20:26

darkiop hat geschrieben: Leider werden beim beenden die einzelen Prozesse von dem tss2_rc2 nicht beendet und ich muss immer mit "killall server_linux" nachhelfen. Natuerlich koennte ich das killall einfach in das initscript schreiben, aber das ist ja nicht so die feine Art ;)
du kannst beim Stoppen die "--pidfile" Option weglassen, dann sollte start-stop-daemon dieses killall für dich übernehmen :wink:

Gruß
gms

darkiop
Beiträge: 144
Registriert: 29.01.2004 20:12:23

Beitrag von darkiop » 11.07.2006 16:04:14

Das war leider nicht die Lösung, der Prozesse werden immer noch nicht beendet ...
Life begins when you accept your fate...

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 11.07.2006 16:27:49

man start-stop-daemon hat geschrieben: Note that unless --pidfile, is specified, then start-stop-daemon
behaves similarly to killall(1). start-stop-daemon will scan the pro-
cess table looking for any processes which match the process name, uid,
and/or gid (if specified).
hm, der Prozeßname, die UID und GID scheinen aber gleich zu sein

bekommst du irgenwelche Fehlermeldungen wenn du noch zusätzlich "--retry" verwendest:
man start-stop-daemon hat geschrieben: If --retry is specified then
start-stop-daemon will check that the process(es) have terminated.

Antworten