我有一個程序會運行很長時間,這個程序編輯並運行在遠程服務器上。我使用 在辦公室的計算機遠程連接服務器並運行它。進度顯示在我辦公室的電腦電腦屏幕上...如何共享正在運行的進程的屏幕輸出?
我想看看我家的輸出,怎樣捕捉辦公室電腦屏幕上的輸出,看看結果如何家?
我想將輸出寫入文件,但我需要關閉文件。所以我應該打開文件然後寫輸出,關閉..再次打開?
感謝
我不知道正確的標籤應該使用,但程序是用Perl編寫.....
我有一個程序會運行很長時間,這個程序編輯並運行在遠程服務器上。我使用 在辦公室的計算機遠程連接服務器並運行它。進度顯示在我辦公室的電腦電腦屏幕上...如何共享正在運行的進程的屏幕輸出?
我想看看我家的輸出,怎樣捕捉辦公室電腦屏幕上的輸出,看看結果如何家?
我想將輸出寫入文件,但我需要關閉文件。所以我應該打開文件然後寫輸出,關閉..再次打開?
感謝
我不知道正確的標籤應該使用,但程序是用Perl編寫.....
可以tee
它
your_program.pl | tee logfile.txt
,看到了最新的結果logfile.txt
在家
tail -f logfile.txt
爲什麼不直接重定向到一個日誌文件,並tail它(或負載它在編輯器等)?
$ myprog.pl >/tmp/logfile 2>&1
以上的重定向輸出到一個日誌文件(/tmp/logfile
- 你不妨選擇一個更好的位置,因爲/tmp
是暫時的,可重新啓動過程中丟棄)和重定向標準輸出/標準錯誤輸出到同一個地方。請注意,這會捕獲程序的輸出,並且不需要修改腳本。
另一種方法是內screen
也許,最有用的功能之一運行您的程序,你可以重新連接到 您的會話登錄後出來,轉移到另一臺計算機,或得到 斷開連接,並繼續工作,好像什麼也沒有發生。你所有的 編輯會話,shell窗口等將在那裏,就像你離開 他們一樣。
就個人而言,我用screen
對於這樣的事情。
screen
。它顯示一個很好的信息,說明screen
的版本,並且它在GPL下。ctrl-A
,D
與screen
會話斷開連接。您將會看到一條沿着[detached from pid.tty.server]
的消息。通常從服務器註銷。screen -x
重新連接到您的會話。
請注意,您應該捕獲stderr以及stdout – 2013-03-14 10:39:23
準確無誤。這可以通過'your_program.pl |&tee logfile.txt'完成。 – Alec 2013-03-14 14:56:10