Что означают эти +/-, если работа linux в фоновом режиме завершается (началась с &)

44

Если я начну процесс с амперсанда ( &) в конце, он будет разветвлен на задний план. Когда он заканчивается, я получаю вывод, похожий на

[1]+  Fertig   my_script

У меня есть локализованный дистрибутив, но это не должно иметь значения.

Я вижу идентификатор работы в квадратных скобках, за которым следует плюс ( +).

Если у меня есть несколько заданий, запущенных параллельно, я получаю

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

Теперь у меня есть минус ( -) для первой работы и плюс ( +) для второй.

Интересно, что это +/ -значит.

Не удалось найти ответ с помощью поисковых систем в Интернете.

Фил
источник

Ответы:

58

От man bash:

В выводе, относящемся к заданиям (например, выводу jobsкоманды), текущее задание всегда помечается знаком a +, а предыдущее задание - -.

То есть задание, помеченное символом a, +является последним, отправленным в фоновый режим.

Это также тот, который будет выведен на передний план, когда fgиспользуется без аргументов:

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

Задание, помеченное знаком, -было отправлено вторым в фоновом режиме. Другие фоновые задания не помечены.

Жауме
источник
Мое удовольствие, я рад, что смог помочь.
Jaume
1
Таким образом, знак «+» полезен для описания действий команд fg / bg, но полезен ли он для чего-либо?
Церберталан
@tsbertalan Я согласен, я не вижу никакой пользы для этого. Я также нахожу это запутанным, я бы предпочел, чтобы ... определить работу, отправленную сначала на задний план, но, может быть, это только я ...
Jaume
Я иногда вижу там два плюса или два минуса. Не совсем соответствует «последнему» или «текущему» определению. Это bash 4.3.42.
Ян-Филипп Герке
8
@tsbertalan Я делаю Ctrl + Z, затем fg -переключаюсь между двумя заданиями. Знак минус пригодится.
cozyconemotel