我知道有两种或两种以上的方式来运行一项工作,并把它放在后台。
现在我用ctrl-z把scp转移到后台,因为我注意到这会花费一些时间。 如何在后台运行进程,以便在等待完成时写入其他命令?
注意:我可以创build一个新的terminal,但是在这种情况下,我将SSH连接到了两台不同的服务器,所以这对于我想在后台执行的每个并发作业都是不方便的。
在使用^ Z停止某些事情后,input“bg”让它在后台运行。 只要你没有注销,“fg”就会回到前面。
需要注意的是,虽然某些进程以CTRL + Z表示后台,但缺省行为是STOP,但不会继续执行。 最安全的方法是使用&最后运行命令,然后运行“disown”将其强制完成到背景。 但是,您将无法再前景。
如果你想要一个简单的方法来关注后台任务,请考虑学习screen 。 作为一个基本的课程,inputscreen scp myfile server:/mydest ,然后inputCTRL + AD来“分离”屏幕会话。 即使在注销机器后,您也可以通过键入“screen -r”来回忆本次会话! 🙂
screen还有许多更高级的function,比如多个窗口,一个活动的任务栏等。这里有一个指导: 链接
只需在命令后添加后台命令即可。
我会build议在屏幕上运行像scp的程序。 原因是通过将命令放在后台,它会将输出转储到您当前的terminal,您不能轻松断开与ssh会话的连接,并在您的工作中重新连接。
运行屏幕。 你会在你面前得到新的terminal。 运行你的过程。 现在按“ctrl-a d”,你应该得到一个说法
[Screen detached]
您可以运行以下命令重新连接到您的屏幕:
# screen -r
你应该让你的原始terminal回来。