Ist die monitor-Option des eingebauten Kommandos set eingeschaltet (set -m), dann verknüpft eine interaktive POSIX-Shell mit jeder Pipe einen Auftrag. Die Shell hält eine Tabelle der aktuellen Aufträge, die Sie mit dem eingebauten Kommando jobs auf die Standard-Ausgabe schreiben können. Jedem Auftrag wird ein kleine ganze Zahl zugewiesen. Wird ein Auftrag im Hintergrund (&) gestartet, dann gibt die Shell eine Zeile der folgenden Form aus:
[1] 1234
Diese Zeile besagt, dass der Auftrag im Hintergrund mit der Auftragsnummer 1 gestartet wurde und einen (Top-Level) Prozess mit der Prozessnummer 1234 hat.
Möchten Sie andere Prozesse starten, während ein Prozess ausgeführt wird, dann brauchen Sie nur die Tastenkombination CTRL+Z (bzw. @@z an Blockterminals) zu drücken. Diese bewirkt, dass ein STOP-Signal an den laufenden Prozess gesendet wird. Die POSIX-Shell wird dann anzeigen, dass der Auftrag gestoppt (stopped) wurde, und ein Bereitzeichen ausgeben. Sie können dann den Zustand dieses Auftrages manipulieren: Den Auftrag mit Hilfe des eingebauten Kommandos bg (background) im Hintergrund weiterlaufen lassen, ihn im gestoppten Zustand lassen und andere Kommandos ausführen oder wieder in den Vordergrund durch das eingebaute Kommando fg (foreground) holen.
CTRL+Z (bzw. @@z) wirkt nicht auf eingebaute (builtin)Kommandos, sondern nur auf Kommandos, die in einem geforkten Prozess ausgeführt werden.
Sie haben mehrere Möglichkeiten, auf die Aufträge zuzugreifen. Sie können über die Prozessnummer eines Prozesses auf den Auftrag oder mit einem der folgenden Ausdrücke zugreifen:
%nummer
der Auftrag mit der gegebenen Auftrags-nummer.
%zeichenkette
jeder Auftrag, dessen Kommando-Zeile mit zeichenkette beginnt.
%?zeichenkette
jeder Auftrag, dessen Kommando-Zeile zeichenkette enthält.
%%
der aktuelle Auftrag.
%+
synonym für %%
%-
der letzte Auftrag.
Die POSIX-Shell registriert jeden Zustandswechsel eines Auftrags. Normalerweise informiert Sie die POSIX-Shell sofort, wenn ein Auftrag gestoppt wurde und nicht weiter ausgeführt werden kann. Damit Ihre Arbeit nicht gestört wird, wird diese Information vor der Ausgabe eines Bereitzeichens ausgegeben.
Wurde die monitor-Option eingeschaltet, dann löst jeder beendete Hintergrundauftrag jeden für CHLD gesetzten trap aus.
Wenn Sie versuchen, die POSIX-Shell zu verlassen, während Sie noch gestoppte Aufträge im Hintergrund haben, dann werden Sie gewarnt.
Sie können dann das Kommando jobs benutzen, um sich eine Übersicht der augenblicklichen Situation zu verschaffen. Wenn Sie dies getan haben oder unmittelbar nach dem ersten Versuch ein zweites Mal die POSIX-Shell verlassen möchten, werden Sie kein zweites Mal gewarnt und die gestoppten Aufträge werden beendet.