在bash作业控制中,可以将已停止的作业作为后台进程或前台进程重启。前台进程会接管你
当前工作的终端,所以在使用该功能时要小心了。
要以后台模式重启一个作业,可用bg命令加上作业号。
$ ./test11.sh
^Z
[1]+ Stopped ./test11.sh
$
$ bg
[1]+ ./test11.sh &
$
$ jobs
[1]+ Running ./test11.sh &
$
因为该作业是默认作业(从加号可以看出),只需要使用bg命令就可以将其以后台模式重启。
注意,当作业被转入后台模式时,并不会列出其PID。
如果有多个作业,你得在bg命令后加上作业号。
$ ./test11.sh
^Z
[1]+ Stopped ./test11.sh
$
$ ./test12.sh
^Z
[2]+ Stopped ./test12.sh
$
$ bg 2
[2]+ ./test12.sh &
$
$ jobs
[1]+ Stopped ./test11.sh
[2]- Running ./test12.sh &
$
命令bg 2用于将第二个作业置于后台模式。注意,当使用jobs命令时,它列出了作业及其状态,即便是默认作业当前并未处于后台模式。
要以前台模式重启作业,可用带有作业号的fg命令。
$ fg 2
./test12.sh
This is the script's end...
$
由于作业是以前台模式运行的,直到该作业完成后,命令行界面的提示符才会出现。