将工作放入 bg 并运行它?

将工作放入 bg 并运行它?

我知道有两种或两种以上的方法可以运行一项作业并将其置于后台。

现在我使用 ctrl-z 将 scp 传输置于后台,因为我注意到它需要一段时间。我如何在后台运行该过程,以便在等待它完成时可以编写其他命令?

注意:我可以创建一个新的终端,但是在这种情况下,我通过 SSH 连接到 2 个不同的服务器,因此对于我在后台想要执行的每个并发作业都执行此操作很不方便。

答案1

在使用 ^Z 停止某项操作后,键入“bg”可让其在后台运行。只要您尚未注销,“fg”将使其回到前台。

答案2

需要注意的是,虽然有些进程使用 CTRL+Z 表示后台运行,但默认行为是 STOP,不会继续执行。最安全的方式是在命令末尾添加 &,然后运行“disown”强制其完全进入后台。但是,您将无法再次将其置于前台。

如果您想要一种轻松的方式来关注后台任务,请考虑学习screen。作为基础课程,请输入screen scp myfile server:/mydest,然后输入 CTRL+AD 以“分离”屏幕会话。您可以通过输入“screen -r”来调用此会话,即使在注销机器后也是如此!:)

screen 具有更多高级功能,例如多个窗口、活动任务栏等。以下是指南:关联

答案3

对于后台命令,只需在命令后添加 &。

答案4

我建议在屏幕上运行 scp 之类的程序。原因是,通过将命令放在后台,它会将输出转储到您当前的终端中,并且您无法在工作过程中轻松断开 ssh 会话并重新连接到它。

运行 screen。您将看到新的终端。运行您的进程。现在按“ctrl-a d”,您应该会看到一行内容

[Screen detached]

您可以通过运行以下命令重新连接到屏幕:

# screen -r

您应该可以取回您的原始终端。

相关内容