Linux前台和后台进程

时间:2020-02-23 14:37:41  来源:igfitidea点击:

我们可能已经注意到,当我们启动程序时,它会占用我们的终端,阻止我们在终端中进行其他工作。
这是因为从shell调用时大多数程序在前台运行。

如果我们有一个需要长时间才能完成的程序,我们可能希望在后台运行该程序。
为此,只需添加符号(&)到命令。
例如,我们可能希望运行可能需要花费大量时间的DD命令。
如果我们将命令作为前景进程运行,我们将无法在终端窗口中输入任何命令。
但是,我们可以将DD命令作为后台进程运行:

dd if=/dev/zero of=/dev/null &

DD程序现在在后台中运行。
我们可以使用终端窗口输入其他命令。

如果程序作为前景进程和ourwant使用终端的其他东西,该怎么办?
嗯,你可以暂停该计划。
要停止运行程序并将其放入后台,请按Ctrl + z。
要在前台再次运行该程序,请执行fg:

# dd if=/dev/zero of=/dev/null
^Z

# fg

在上面的图片中,我们可以看到我们已启动DD命令作为前景过程。
然后按CTRL + Z暂停该程序。
我们现在可以在终端Windows中输入新命令。
要将DD命令返回到前台,我们简单地执行了字样。

我们也可以执行bg而不是fg。
BG将作业恢复到运行状态,但在后台,因此我们可以使用终端输入新命令。