Что означают суффиксы "+" и "-" после идентификатора задания фоновых заданий? - PullRequest
11 голосов
/ 05 марта 2012

Когда я запускаю несколько фоновых процессов, мой вывод команды jobs, например:

[1]-  RUNNING                  nohup somecommand1 &
[2]+  RUNNING                  nohup somecommand2 &

Что означают символы "+" и "-" после идентификатора задания?

Ответы [ 2 ]

15 голосов
/ 05 марта 2012

Он находится на странице руководства для заданий в STDOUT:

> man jobs

Символ '+' обозначает задание, которое будет использоваться по умолчанию для утилит fg или bg;это задание также можно указать с помощью job_id% + или "%%".Символ «-» обозначает задание, которое станет заданием по умолчанию, если текущее задание по умолчанию будет завершено;это задание также можно указать с помощью job_id% -.

Таким образом, задание, помеченное '+', будет активировано 'fg'.

5 голосов
/ 05 марта 2012

«+» означает, что этот процесс выполнялся последним перед установкой в ​​фоновом режиме. - означает, что это было вторым, чтобы продлиться прежде, чем поместить в фон.

Если вы выполните «fg», ваше задание № 2 (+) будет переведено на передний план, если вы явно не укажете «fg% 1», что переведет задание с - на передний план.

Пример:

rock:$ sleep 30m &
[1] 25808
[1002 ~]
rock:$ sleep 45m &
[2] 25813
[1003 ~]
rock:$ jobs
[1]-  Running                 sleep 30m &
[2]+  Running                 sleep 45m &
[1004 ~]
rock:$ fg
sleep 45m
[2]+  Stopped                 sleep 45m
[1005 ~]
rock:$ jobs
[1]-  Running                 sleep 30m &
[2]+  Stopped                 sleep 45m
[1006 ~]
rock:$ fg %1
sleep 30m
[1]+  Stopped                 sleep 30m
[1007 ~]
rock:$ jobs
[1]+  Stopped                 sleep 30m
[2]-  Stopped                 sleep 45m

Обратите внимание на последние строки, где + и - поменялись местами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...