+/- après un travail en arrière-plan

21

Exécuter un travail en arrière-plan

$ command &

Quand c'est fait, le terminal imprime

[n]+    command

ou

[n]-    command

Alors parfois c'est un plus et parfois c'est un moins suivant [n] .

Que signifie plus / moins?

Lee
la source

Réponses:

19

Ils doivent faire la distinction entre l'emploi actuel et l'emploi précédent; le dernier emploi et l'avant-dernier emploi pour plus de deux emplois, avec +pour le dernier et- pour l'avant-dernier.

De man bash:

Le travail précédent peut être référencé à l'aide de %-. S'il n'y a qu'un seul travail, %+et %-peuvent tous deux être utilisés pour faire référence à ce travail. Dans la sortie relative aux travaux (par exemple, la sortie de la commande jobs), le travail en cours est toujours signalé par un +et le travail précédent par un -.

Exemple:

$ sleep 5 &
[1] 21795

$ sleep 5 &
[2] 21796

$ sleep 5 &
[3] 21797

$ sleep 5 &
[4] 21798

$ jobs
[1]   Running                 sleep 5 &
[2]   Running                 sleep 5 &
[3]-  Running                 sleep 5 &
[4]+  Running                 sleep 5 &

$ 
[1]   Done                    sleep 5
[2]   Done                    sleep 5
[3]-  Done                    sleep 5
[4]+  Done                    sleep 5
heemayl
la source
2

Je suppose que vous faites référence à lorsque vous vérifiez les emplois via $jobs. Cependant, comme vous le savez probablement déjà, ndésigne le travail n °. Le [n] +indique le travail final qui a été appelé. [n] -désigne l'avant-dernier travail appelé.

Par exemple:

chris@chris-VirtualBox:~$ sleep 30 &
[1] 904
chris@chris-VirtualBox:~$ sleep 50 &
[2] 972
chris@chris-VirtualBox:~$ jobs
[1]-  Running                 sleep 30 &
[2]+  Running                 sleep 50 &

C'est pourquoi, dans ce cas, notre sleep 50 &est le dernier: [2]+et l' sleep 30 &avant-dernier:[1]-

Klamz
la source
Votre description de la situation n'est pas claire et le système ne prévoit pas quel travail se terminera en premier.
Julie Pelletier
Je vois ce que tu veux dire, je vais souligner le point principal
Klamz