Linux

將已經執行的程序移動到 Screen

  • October 27, 2021

我的辦公室工作經常看到我通過 VNC 連接到 Linux 機器。

有時我在控制台上啟動一個遠端工作,後來意識到它執行的時間比預期的要長得多。(應該首先在 Screen 下啟動那個……)

我不想為了讓 VNC 會話保持打開而讓我的工作站在一夜之間執行;我想將已經執行的遠端作業移動到螢幕會話(在遠端框上),這樣我就可以關閉工作站電源(並在第二天早上重新連接)。

如果有的話,如何做到這一點?

看看reptyr,它就是這樣做的。github頁麵包含所有資訊。

reptyr - 用於“重新安裝”程序的工具。

reptyr 是一個實用程序,用於獲取現有正在執行的程序並將其附加到新終端。通過 ssh 啟動了一個長時間執行的程序,但不得不離開並且不想中斷它?只需啟動一個螢幕,使用 reptyr 抓取它,然後終止 ssh 會話並回家。

用法

複製人PID

“reptyr PID” 將抓取 id PID 的程序並將其附加到您目前的終端。

附加後,該程序將從新終端獲取輸入並將輸出寫入新終端,包括^C和^Z。(不幸的是,如果你在後台執行它,你仍然必須在舊終端中執行“bg”或“fg”。如果不修補你的 shell,這可能無法以合理的方式修復。)

引用自:https://serverfault.com/questions/55880