Terminal

監視輸出到 /dev/null

  • May 9, 2022

我有一些科學程序可以執行幾分鐘到幾天。該程序將進度資訊列印到以輸入結尾的標準輸出。

如果程序執行了幾天,我通常將輸出通過管道傳輸到 /dev/null 以避免巨大的日誌文件。

有沒有辦法定期查看程序的輸出,而不必保留所有生成的文本?

您應該 ssh 到伺服器,然後執行screen以啟動會話。從那裡,啟動您長時間執行的科學程序(讓它正常輸出到標準輸出),然後隨時斷開連接。每當您想查看輸出時,再次 ssh 回到伺服器並執行screen -R以重新連接到最後一個分離的會話。

您也可以使用tmux代替screen,它的工作原理類似。只需執行tmux attach-session而不是screen -R.

要對尚未在螢幕會話中啟動的科學程序實例執行相同操作:找到程序 PID,然後執行:

screen
reptyr <PID>

將其重新附加到您的新螢幕會話。

引用自:https://unix.stackexchange.com/questions/698822