想像一下這種情況,我打開一個 ssh 會話,在該會話中我啟動一個進程並將其放在後台,使用&
或ctrl+ z,然後關閉該會話。有什麼方法可以打開另一個會話並將該進程放在前台嗎?因為這份工作已經不存在了。
答案1
你必須使用screen
.例如,您可以從以下開始:
#> screen -S system-upgrade
#> aptitude update && aptitude full-upgrade
[aptitude output here]
您可以按Ctrl+A
然後D
轉到detach
螢幕。從現在開始,您可以attach
在同一台電腦上的任意位置重新分離螢幕(例如另一個控制台、終端機、ssh 會話等)。
您只需鍵入screen -r system-upgrade
(其中system-upgrade
只是您最初在螢幕上給出的標籤)。
#> screen -ls
There are screens on:
[SCREEN_PID].system-upgrade (Detached)
#> screen -r system-upgrade
[aptitude output here]
[new aptitude output from where you left detaching the screen]
親自嘗試一下,screen
這確實是一個必備包。
sudo aptitude install screen