Linux
將已經執行的程序移動到 Screen
我的辦公室工作經常看到我通過 VNC 連接到 Linux 機器。
有時我在控制台上啟動一個遠端工作,後來意識到它執行的時間比預期的要長得多。(應該首先在 Screen 下啟動那個……)
我不想為了讓 VNC 會話保持打開而讓我的工作站在一夜之間執行;我想將已經執行的遠端作業移動到螢幕會話(在遠端框上),這樣我就可以關閉工作站電源(並在第二天早上重新連接)。
如果有的話,如何做到這一點?
看看reptyr,它就是這樣做的。github頁麵包含所有資訊。
reptyr - 用於“重新安裝”程序的工具。
reptyr 是一個實用程序,用於獲取現有正在執行的程序並將其附加到新終端。通過 ssh 啟動了一個長時間執行的程序,但不得不離開並且不想中斷它?只需啟動一個螢幕,使用 reptyr 抓取它,然後終止 ssh 會話並回家。
用法
複製人PID
“reptyr PID” 將抓取 id PID 的程序並將其附加到您目前的終端。
附加後,該程序將從新終端獲取輸入並將輸出寫入新終端,包括^C和^Z。(不幸的是,如果你在後台執行它,你仍然必須在舊終端中執行“bg”或“fg”。如果不修補你的 shell,這可能無法以合理的方式修復。)