[Flug] Forks / Kindproz. beenden

Bernhard R. Link brl at mail.brlink.eu
Fr Sep 7 09:33:20 CEST 2012


* 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



Mehr Informationen über die Mailingliste Flug