如何在后台打开当前工作?

lov*_*ing 3 command-line

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

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

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

Chr*_*yer 8

您可以通过键入使进程后台运行C-z,此时进程将挂起,除了等待之外不执行任何操作。然后执行bg以允许进程在后台继续。

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

testarossa :: ~ % jobs                            
[1]  + suspended  sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

要将其带回前台,您只需执行fg. 如果您有许多进程在后台运行,您可以通过指定进程 ID(例如,[1]在上面的示例中)来指定将哪个进程带到前台(或在后台继续)。所以给出了上面的例子,bg 1bg是等价的。请注意,这不是pid!

使用终端复用器像screentmux会阻止此。可能想检查一下。

例子

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
Run Code Online (Sandbox Code Playgroud)

请注意该过程的输出会出现在您的终端上!但是,您可以根据需要在命令行上执行常规操作。

  • 如果你只执行 `Cz` 它会暂停。如果您之后也执行`bg`,它将继续。 (5认同)