后台作业和前台作业总是处于运行状态吗?

后台作业和前台作业总是处于运行状态吗?

作业可以正在运行或停止(挂起)。

当我们谈论前台作业和后台作业时,我们只是在谈论运行作业吗?

后台作业和前台作业总是处于运行状态吗?

说停止的作业是前台还是后台有意义吗?

答案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将其置于前台,现在作业不会被步进,但它将从后台作业队列中拉出并推入前台作业队列。

所以是的,后台作业和前台作业始终处于运行状态。

相关内容