Co oznaczają te +/-, jeśli praca z linuksem w tle zakończy się (rozpoczęte z &)

43

Jeśli rozpocznę proces od znaku ampersand ( &) na końcu, zostanie on przeniesiony do tła. Po zakończeniu otrzymuję wynik podobny do

[1]+  Fertig   my_script

Mam zlokalizowaną dystrybucję, ale to nie powinno mieć znaczenia.

Widzę identyfikator zadania w nawiasach kwadratowych, a po nim plus ( +).

Jeśli mam wiele zadań rozpoczętych równolegle, dostaję

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

Teraz mam minus ( -) dla pierwszego zadania i plus ( +) dla drugiego.

Zastanawiam się, co ci +/ -myśli.

Nie można znaleźć żadnej odpowiedzi za pomocą wyszukiwarek internetowych.

Phil
źródło

Odpowiedzi:

57

Od man bash:

W danych wyjściowych dotyczących zadań (np. Danych wyjściowych jobspolecenia) bieżące zadanie jest zawsze oznaczane za pomocą a +, a poprzednie zadanie za pomocą -.

Oznacza to, że zadanie oznaczone jako +to to, które zostało wysłane w tle jako ostatnie.

Jest to również ten, który zostanie przeniesiony na pierwszy plan, gdy fgbędzie używany bez argumentów:

$ /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

Zadanie oznaczone jako -zostało wysłane w tle na drugim miejscu. Inne zadania w tle nie są oznaczane.

jaume
źródło
Cała przyjemność po mojej stronie, cieszę się, że mogłem pomóc.
jaume
1
Więc + jest użyteczne w powiedzeniu, co zrobią polecenia fg / bg, ale czy - jest przydatne do czegokolwiek?
tsbertalan
@tsbertalan Zgadzam się, nie widzę w tym żadnego zastosowania. Uważam to również za mylące, wolałbym raczej - aby zidentyfikować zlecenie wysłane najpierw w tło, ale może to tylko ja ...
jaume
Czasami widzę tam dwa plusy lub dwa minusy. Naprawdę nie pasuje do definicji „ostatniej” ani „bieżącej”. To jest bash 4.3.42.
Jan-Philip Gehrcke
8
@tsbertalan Wykonuję Ctrl + Z, a następnie fg -przełączam między dwoma zadaniami. Przydaje się znak minus.
cozyconemotel