Que signifient ces +/- si le travail Linux en arrière-plan se termine (commencé par &)

44

Si je lance un processus avec une esperluette ( &) à la fin, il sera déplacé en arrière-plan. Quand il a fini, je reçois un résultat similaire à

[1]+  Fertig   my_script

J'ai une distribution localisée, mais cela ne devrait pas avoir d'importance.

Ce que je vois, c'est l'identifiant de travail entre crochets suivi d'un plus ( +).

Si plusieurs emplois sont démarrés en parallèle, je reçois

[1]-  Fertig   my_script
[2]+  Fertig   my_script

Maintenant, j'ai un moins ( -) pour le premier emploi et un plus ( +) pour le second.

Je me demande, ce que ceux +/ -moyenne.

Impossible de trouver une réponse à l'aide des moteurs de recherche Internet.

Phil
la source

Réponses:

58

De man bash:

Dans les résultats relatifs aux travaux (par exemple, le résultat de la jobscommande), le travail en cours est toujours signalé par un +et le travail précédent par un -.

C'est-à-dire que le travail marqué avec a +est celui qui a été envoyé en arrière-plan en dernier.

C'est aussi celui qui sera mis au premier plan lorsqu'il fgest utilisé sans arguments:

$ /tmp/script &
[1] 9871
$ /tmp/script2 &
[2] 9876
$ /tmp/script3 &
[3] 9881
$ /tmp/script4 &
[4] 9886
$ jobs
[1]   Running                 /tmp/script &
[2]   Running                 /tmp/script2 &
[3]-  Running                 /tmp/script3 &
[4]+  Running                 /tmp/script4 &
$ fg
/tmp/script4

Le travail marqué avec a -été envoyé à l'arrière-plan en dernier dernier. Les autres travaux en arrière-plan ne sont pas signalés.

Jaume
la source
Mon plaisir, je suis content d'avoir pu aider.
Jaume
1
Donc, le + est utile pour dire ce que les commandes fg / bg feront, mais le - est-il utile à quelque chose?
Tsbertalan
@tsbertalan Je suis d'accord, je n'en vois pas l'utilité. Je trouve cela déroutant, moi aussi, je m'attendrais plutôt à - identifier le travail envoyé en premier à l'arrière-plan, mais c'est peut-être juste moi ...
jaume
Je vois parfois deux avantages ou deux inconvénients. Ne correspond pas vraiment à la définition "dernière" ou "actuelle". C'est bash 4.3.42.
Jan-Philip Gehrcke
8
@tsbertalan je fais Ctrl + Z, puis fg -pour basculer entre deux travaux. Le signe moins est pratique.
cozyconemotel