Ich versuche einen Prozesscontainer zu bauen. Der Container löst andere Programme aus. Zum Beispiel - ein Bash-Skript, das ausgeführte Hintergrundaufgaben mit '&' startet.
Das wichtige Merkmal, nach dem ich mich sehne, ist folgendes: Wenn ich den Container töte, sollte alles, was unter ihm hervorgebracht wurde, getötet werden. Nicht nur direkte Kinder, sondern auch deren Nachkommen.
Als ich dieses Projekt gestartet habe, habe ich fälschlicherweise geglaubt, dass beim Töten eines Prozesses automatisch auch seine Kinder getötet wurden. Ich habe mich von Leuten beraten lassen, die die gleiche falsche Vorstellung hatten. Es ist zwar möglich, ein Signal zu empfangen und die Tötung an Kinder weiterzugeben, aber das ist nicht das, wonach ich hier suche.
Ich glaube, was ich erreichen möchte, denn wenn Sie ein xterm schließen, wird alles, was darin lief, getötet, es sei denn, es wurde nicht ausgeführt. Dies schließt verwaiste Prozesse ein. Das ist es, was ich neu erschaffen möchte.
Ich habe eine Idee, dass ich nach Unix-Sessions Ausschau halte.
Wenn es eine zuverlässige Möglichkeit gibt, alle Nachkommen eines Prozesses zu identifizieren, wäre es nützlich, ihnen auch beliebige Signale senden zu können. zB SIGUSR1.
SIGHUP
, werden die Prozesse direkt an die untergeordneten Prozesse gesendet . Der Standard-Handler für das Auflegen-Signal bricht die Prozessausführung ab. Die Standardroute besteht also darin, alle Nachkommen zu töten. Lesen Sie mehr über Prozesse und Prozessgruppen.