[Flug] Forks / Kindproz. beenden

epsi at gmx.de epsi at gmx.de
Fr Sep 7 09:54:51 CEST 2012


-------- Original-Nachricht --------
> Datum: Fri, 7 Sep 2012 09:33:20 +0200
> Von: "Bernhard R. Link" <brl at mail.brlink.eu>
> An: flug at lug-freiburg.de
> Betreff: Re: [Flug] Forks / Kindproz. beenden

> * epsi at gmx.de <epsi at gmx.de> [120907 08:48]:
> >> * Arno Steffens <epsi at gmx.de> [120906 15:53]:
> >>> Neben dem theoretischen Verständnis ist da Ziel, in einem IRQ
> handler,
> >>> der in einem Kindprozess gestartet wird CTRL-C abzufangen und alles
> >>> sauber zu beenden.
> >
> > Ja genau. Also ich habe einen Prozess, der 3 Forks ausführt. Muß ich
> jetzt
> > in jedem Prozess einen Signalhandler einrichten, der bei CTRL-C
> sozusagen
> > jeden Thread für sich selbst aufräumt - oder kann einer der "Chef"
> sein und
> > alles sauber beenden. Vemute eher ersteres.
> 
> Es empfiehlt sich, das der Elternprozess aufräumt, wenn er geht. Wobei
> bei Ctrl-C die Frage ist, ob die Kindprozesse das ignorieren sollen und
> auf das dadurch herforgerufene Signal von Elternprozess warten, oder ob
> gleich alles selbst zu machen soll. Ersteres macht die Reihenfolge etwas
> vorhersagbarer, letzteres macht es wahrscheinlicher, dass alles zugeht.
> 
> Bei Prozessgruppen sollte man bedenken, dass man immer nur in einer
> seien kann, so dass man durch aufmachen einer neuen die Verbindung zur
> bisherigen verliert. Bei einem Daemon will man das eh, bei einem
> Kommandozeilenprogramm wäre das eher etwas ungeschickt.
> 
>         Bernhard R. Link

Vielen Dank 

Wenn ich diese Idee verfolgen würde dann müßte
- der Elternprozess bei CTRL-C ein Signal (welches ?) an die Kinder schicken
- die Kinder ihren Teil der offenen Resourcen freigeben und sich beenden
- Elternprozess wartet auf die Beendigung der Kinder, gibt seine Resourcen frei und beendet sich

Welche Signal dann am besten an die Kinder senden? Und was wird mit den Ressourcen die ggf vor dem Fork vom Vater angelegt worden sind: nur im Vaterprozess beenden?

Arno



Mehr Informationen über die Mailingliste Flug