我已经通过 ssh 连接到我的 ubuntu 15 服务器箱。
我运行 apt-get xxx。下载时间太长了,我不想停止它。
我怎样才能在后台运行这个作业,就像从一开始就用“&”运行它一样
答案1
您可以通过键入 来将进程置于后台C-z
,此时,进程将被暂停,除了等待之外不会执行任何其他操作。然后执行bg
以允许进程在后台继续。
jobs
将列出所有在后台运行/等待的进程。
testarossa :: ~ % jobs
[1] + suspended sudo apt-get update
要将其带回前台,您只需执行fg
。如果您在后台运行多个进程,您可以通过指定进程 ID 来指定将哪个进程带到前台(或在后台继续运行)(例如,[1]
在上面的例子中)。因此,鉴于上述示例,bg 1
和bg
是等效的。请注意,这是不是进程标识!
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
请注意,进程的输出会出现在您的终端上!但是,您可以按照自己的意愿在命令行上执行常规操作。