作业可以正在运行或停止(挂起)。
当我们谈论前台作业和后台作业时,我们只是在谈论运行作业吗?
后台作业和前台作业总是处于运行状态吗?
说停止的作业是前台还是后台有意义吗?
答案1
后台作业:在同一 shell 中后台运行的作业。您可以使用 bg 命令查看任何后台作业。
前台作业:在您眼前运行的同一 shell 中的作业。
暂停的作业:它是停止/暂停的作业,但您可以恢复其运行。
让我用例子来解释得非常清楚
virt00# sleep 180
^Z
zsh: suspended sleep 180
virt00# jobs
[1] + suspended sleep 180
virt00# bg
[1] + continued sleep 180
virt00# fg
[1] + running sleep 180
^Z
zsh: suspended sleep 180
virt00# jobs
[1] + suspended sleep 180
virt00#
我已经开始了一项名为的工作sleep 180
,然后我用 CTRL+Z 停止了。现在我的工作处于暂停状态。
我通过输入命令看到它jobs
。现在我想恢复其在后台运行,因此我输入bg
命令,然后它将从挂起状态移动到运行状态,但在后台它将运行。
现在我输入命令fg
将其置于前台,现在作业不会被步进,但它将从后台作业队列中拉出并推入前台作业队列。
所以是的,后台作业和前台作业始终处于运行状态。