为什么 bash 需要作业控制?

为什么 bash 需要作业控制?

为什么Unix系统需要作业控制?例如,我们可以在命令中使用进程号或作业号(jobspec) kill

$ sleep 101 &
[1] 19
$ sleep 102 &
[2] 20
$ jobs -l
[1]-    19 Running                 sleep 101 &
[2]+    20 Running                 sleep 102 &
$ kill %1
$ kill 20
[1]-  Terminated              sleep 101
$ jobs -l
[2]+    20 Terminated              sleep 102
$ 

但是,当进程号已经可以从所有 shell 访问时,为什么还要有一个称为作业号的概念呢?

相关内容