Was `+` und `-` in der Ausgabe von Hintergrundjobs bedeuten

Was `+` und `-` in der Ausgabe von Hintergrundjobs bedeuten

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 jobsBefehl 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 %2töten command_)

Aber was bedeutet +und -das Fehlen eines dieser Mittel? Das Ausführen von man jobsund jobs -hfunktioniert 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 jobsKommandos) wird der aktuelle Job immer mit einem '+' gekennzeichnet, der vorherige Job mit einem '-'.

verwandte Informationen