ubuntuusers.de

Problem beim Beenden von Prozessen

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

jahsoldier

Anmeldungsdatum:
27. Januar 2007

Beiträge: Zähle...

Hallo,

ich habe mir einen kleinen Daemon "listen.sh" geschreiben, der auf einem Netzwerkinterface auf betimmte ankommende Pakete wartet, Inhalte aus den Paketen extrahiert und diese an ein Skript zur Weiterverarbeitung mit Hilfe von xargs übergibt. Der hierzu verwendete Aufruf innerhalb des Skripte sieht vereinfacht folgendermaßen aus:

tcpdump -l -n -i eth0 | sed -u "s/.*IP.* \([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*/\1/" | xargs -l -i bash -c "skript.sh {} &"


TCPdump empfängt die gewünschten Pakete, sed extrahiert bestimmte Inhalte aus den Paketen (im Beispiel oben die IP-Adresse) und xargs übergibt sie an das angegebene Skript "skript.sh"!

Diesen Daemon will ich nun nach dem Vorbild "/etc/init.d/skeleton" mit

start-stop-daemon --start --quiet --oknodo --pidfile listen.eth0.pid -m -b --exec /opt/listen.sh


starten. Das ganze funktioniert auch ausgezeichnet. Möchte ich aber den Daemon mit

start-stop-daemon --stop --quiet --pidfile listen.eth0.pid


beenden, wird natürlich nur das Skript "listen.sh" beenden. Der Prozess zum Aufruf des Skriptes "skript.sh" läuft aber weiterhin:

root     11181  0.0  0.0   5208   660 ?        S    10:40   0:00 xargs -l -i bash -c /opt/skript.sh {} &

Kennt jemand eine Möglichkeit wie ich den Prozess von xargs ebenfalls mitbeenden kann? Am besten mit Hilfe von start-stop-daemon.
Gib es hierfür vielleicht ein spezielles kill-Signal? Bin über alle Hinweise oder Ideen sehr dankbar.

Grüße

Antworten |