当我运行多个后台进程时,我的命令jobs
的输出就是:
[1]- RUNNING nohup somecommand1 &
[2]+ RUNNING nohup somecommand2 &
作业ID之后的“+”和“ - ”字符是什么意思?
答案 0 :(得分:15)
这是STDOUT下的工作的人工页面:
> man jobs
字符'+'标识将用作fg或bg实用程序的默认作业;也可以使用job_id%+或“%%”指定此作业。字符' - '标识当前默认作业退出时将成为默认值的作业;也可以使用job_id% - 。
指定此作业
因此标有'+'的作业将被'fg'激活。
答案 1 :(得分:5)
+表示该进程是在放入后台之前运行的最后一个进程。 - 意味着它在投入背景之前是倒数第二。
如果您执行“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
注意最后一行,其中+和 - 改变位置。