如何将当前工作转入后台?

如何将当前工作转入后台?

我已经通过 ssh 连接到我的 ubuntu 15 服务器箱。

我运行 apt-get xxx。下载时间太长了,我不想停止它。

我怎样才能在后台运行这个作业,就像从一开始就用“&”运行它一样

答案1

您可以通过键入 来将进程置于后台C-z,此时,进程将被暂停,除了等待之外不会执行任何其他操作。然后执行bg以允许进程在后台继续。

jobs将列出所有在后台运行/等待的进程。

testarossa :: ~ % jobs                            
[1]  + suspended  sudo apt-get update

要将其带回前台,您只需执行fg。如果您在后台运行多个进程,您可以通过指定进程 ID 来指定将哪个进程带到前台(或在后台继续运行)(例如,[1]在上面的例子中)。因此,鉴于上述示例,bg 1bg是等效的。请注意,这是不是进程标识!

screen使用类似和的终端多路复用器tmux可以防止这种情况发生。可能需要检查一下。

例子

testarossa :: ~ % sudo apt-get update                                                                                            1 ↵
[sudo] password for christophe: 
Hit http://ppa.launchpad.net trusty InRelease
Hit http://ppa.launchpad.net trusty InRelease                                  
Hit http://ppa.launchpad.net trusty InRelease                                  
Hit http://ppa.launchpad.net trusty InRelease                                  
Hit http://ppa.launchpad.net trusty/main amd64 Packages                        
Hit http://ppa.launchpad.net trusty/main i386 Packages                         
Hit http://ppa.launchpad.net trusty/main Translation-en                        
Ign http://us.archive.ubuntu.com trusty InRelease                              
Hit http://ppa.launchpad.net trusty/main amd64 Packages                        
Hit http://ppa.launchpad.net trusty/main i386 Packages                         
Get:1 https://get.docker.com docker InRelease                                  
100% [Waiting for headers] [Connecting to security.ubuntu.com (91.189.91.14)] [^Z
[1]  + 16963 suspended  sudo apt-get update
testarossa :: ~ % bg                                                                                                            20 ↵
[1]  + 16963 continued  sudo apt-get update

请注意,进程的输出会出现在您的终端上!但是,您可以按照自己的意愿在命令行上执行常规操作。

相关内容