如果后台的 Linux 作业完成(以 & 开头),这些 +/- 是什么意思

如果后台的 Linux 作业完成(以 & 开头),这些 +/- 是什么意思

如果我启动一个进程,并在末尾添加一个与号 ( &),它将被分叉到后台。当它完成后,我得到类似于

[1]+  Fertig   my_script

我有一个本地化的分布,但这不应该有问题。

我看到的是方括号中的作业 ID,后面跟着一个加号 ( +)。

如果我有多个工作同时开始,我会得到

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

现在,我对第一份工作打了减号 ( ),对第二份工作-打了加号 ( )。+

我想知道那些是什么+意思-

使用互联网搜索引擎无法找到任何答案。

答案1

man bash

在与作业相关的输出中(例如,命令的输出jobs),当前作业始终用 标记+,而前一个作业则用 标记-

也就是说,带有 标记的作业+是最后发送到后台的作业。

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

带有 标记的作业-已倒数第二个发送到后台。其他后台作业未标记。

相关内容