
Wenn ich eine Reihe von Hintergrundjobs ausführe mit
for s in {1,2,3}; do command_$s &; done;
Ich kann sie alle mit dem jobs
Befehl sehen
$ jobs
[2] running command_1
[3] - running command_2
[4] + running command_3
Ich weiß, dass die erste Spalte die ID ist (ich kann zum Beispiel kill -9 %2
töten command_
)
Aber was bedeutet +
und -
das Fehlen eines dieser Mittel? Das Ausführen von man jobs
und jobs -h
funktioniert nicht.
Antwort1
ImInfo-Handbuch für Bash, dazu gibt es eine Beschreibung im Kapitel 7.1, Job Control Grundlagen:
Auf Job Nummer n kann als „%n“ verwiesen werden. Die Symbole „%%“ und „%+“ beziehen sich auf die Shell-Vorstellung des aktuellen Jobs, also den letzten Job, der angehalten wurde, während er im Vordergrund war oder im Hintergrund gestartet wurde. Ein einzelnes „%“ (ohne zugehörige Job-Spezifikation) bezieht sich ebenfalls auf den aktuellen Job. Auf den vorherigen Job kann mit „%-“ verwiesen werden. Wenn nur ein einziger Job vorhanden ist, können sowohl „%+“ als auch „%-“ verwendet werden, um auf diesen Job zu verweisen.
In den Ausgaben zu Jobs (z. B. der Ausgabe des
jobs
Kommandos) wird der aktuelle Job immer mit einem '+' gekennzeichnet, der vorherige Job mit einem '-'.