如何從另一個終端(例如 SSH 終端)讀取現有的輸出內容?
場景是我在 GUI 會話中運行了一個程序,但後來我需要遠端讀取它的輸出而不觸及它的 GUI 會話(我知道如果我使用 VNC 就可以)。我在 StackExchange 上做了一些搜索,但他們的故事有所不同。
https://unix.stackexchange.com/a/72334給出了將其未來輸出重定向到遠端終端的解決方案,但仍缺少現有輸出。有什麼辦法可以解決這個問題嗎?
答案1
過去寫入的內容僅存在於該終端中(通常在該進程的記憶體中)。如果你想閱讀它,你要么需要討論你的終端的文檔,如果它可以以某種方式訪問(xterm或屏幕有辦法查詢屏幕和/或滾動緩衝區的內容),你需要做什麼可以訪問,否則您必須直接從終端進程的記憶體中挖掘它。
據我所知,沒有通用的方法可以做到這一點。
答案2
screen
在您的終端機會話中使用。您稍後可以附加到該會話,並選擇-r
在離開該終端時查看該終端的目前視圖,並在同一 shell 中繼續。
看man screen
更多。