Job Control Shells bearbeiten ständig Sitzungen oder Prozessgruppen. Sie können mit einem einzigen Aufruf der POSIX- kill()
Funktion das gleiche Signal an alle Prozesse in einer Prozessgruppe senden .
Der POSIX-Standard sagt:
Wenn pid größer als 0 ist, wird sig an den Prozess gesendet, dessen Prozess-ID gleich pid ist.
Wenn pid 0 ist, wird sig an alle Prozesse gesendet (mit Ausnahme eines nicht spezifizierten Satzes von Systemprozessen), deren Prozessgruppen-ID der Prozessgruppen-ID des Absenders entspricht und für die der Prozess die Berechtigung zum Senden eines Signals hat.
Wenn pid -1 ist, wird sig an alle Prozesse gesendet (mit Ausnahme eines nicht spezifizierten Satzes von Systemprozessen), für die der Prozess die Berechtigung hat, dieses Signal zu senden.
Wenn pid negativ ist, aber nicht -1, wird sig an alle Prozesse gesendet (mit Ausnahme eines nicht spezifizierten Satzes von Systemprozessen), deren Prozessgruppen-ID dem absoluten Wert von pid entspricht und für die der Prozess die Berechtigung zum Senden eines Signals hat .
Wenn beispielsweise eine Anmeldeshell beendet wird, wird ein SIGHUP-Signal an alle Programme in ihrer Prozessgruppe gesendet.
Wenn Sie Programme in den Vordergrund oder Hintergrund bearbeiten, verwenden Sie Prozessgruppen.
Es gibt auch Kontrollterminals, über die Sie sich Sorgen machen müssen. Von einem steuernden Terminal erzeugte Signale können an alle Programme in einer Prozessgruppe gesendet werden.