如果我通过在命令行中正常键入它来启动进程,例如
wget http://site.com/bigfile.zip
然后决定我想把它移到后台,我知道我可以使用类似ctrl z然后bg 1(或者首先需要获取id的作业)将它放在后台.
解决方法
是的,绝对:
screen(1)就是答案.
首先,将屏幕-R添加到〜/ .bash_profile或等效,注销,然后重新登录.
要继续在后台运行,请按Control-A然后按N.这将在前台创建一个新的终端屏幕,同时在后台无缝地继续您的运行过程.
按Control-A然后“获取已打开的屏幕的交互列表,或按Control-A然后按数字直接切换到特定屏幕.
您最初的要求是能够将流程移动到后台而不会停止它.屏幕有两个额外的好处,如果你想一次做多件事,这些好处是巨大的:
>您可以比使用Control-Z,bg,fg等更流畅地切换进程.
>如果终端会话断开连接,您的进程(如wget http://example.com/bigfile.iso)将不会终止!重新连接时,所有shell会话都将在那里等待您.
有关更多信息,请阅读screen(1) manpage或GNU Screen Manual.