[Fli4l_dev] PID File erstellen für igmpproxy

Christoph Schulz fli4l at kristov.de
Sa Jun 8 17:10:24 CEST 2013


Hallo!

Da ist man mal ein paar Tage nicht ganz gesund, und schon hat man 21 
ungelesene Beiträge in s.f.dev... Schön, dass sich hier etwas tut, und dass 
es nicht nur um Bugs im fli4l-Code geht ;-)

Stephan Sanders schrieb:

> Erst wollte ich wie folgt vorgehen:
> 
> igmpproxy $flag $igmp_config_dir &
> echo $! > /var/run/igmp.pid
> # Geht leider nicht! PID of igmp ist immer 1-2 h.her als $!

Das bedeutet, dass igmpproxy bereits selbst sich in den Hintergrund 
katapultiert. Insofern wird diese Methode dir kein Glück bringen.

Ich habe mal in den Quelltext von igmpproxy geschaut. Das Programm schreibt 
seine Prozess-ID jedenfalls in keine Datei. Somit bleibt dir entweder, dein 
"ps"-Prozedere zu verbessern, oder (finde ich besser) du verhinderst, dass 
igmpproxy sich in den Hintergrund schiebt. Das erreichst du mit der "-d"-
Option. Also:

igmpproxy -d $flag $igmp_config_dir >/var/log/igmpproxy.log 2>&1 &
echo $! > /var/run/igmp.pid
[...]
kill $(cat /var/run/igmp.pid)

Das hat nur den Nachteil, dass igmpproxy dann nicht via syslog 
protokolliert, sondern via stderr (>&2), deswegen die explizite Umleitung. 
Einen Versuch ist es jedenfalls wert.


Viele Grüße,
-- 
Christoph Schulz
[fli4l-Team]



Mehr Informationen über die Mailingliste Fli4l_dev