Nohup
將 nohup 輸出重定向到另一個文件
我正在我的一台伺服器上執行帶有 nohup 的命令,輸出文件變得太大,我預測該過程需要額外一個月的執行才能完成。有沒有辦法在程序執行時更改 nohup 輸出文件?
剛剛發現這個簡潔的小實用程序使我能夠將輸出重定向到另一個文件,現在一切正常。該實用程序稱為重定向,可以在以下位置找到:https ://github.com/jerome-pouiller/reredirect/
一個簡單的命令,例如:
reredirect -m FILE PID
完成工作。
即使指向另一個問題的連結有錯誤(且不被接受)的答案,其中一條評論中給出的想法通常也是如此。
要在 POSIX shell 中截斷文件,請使用:
cat /dev/null > _name_of_file_
不像
cp
連結中的一個答案所暗示的那樣。當然,如果您想先保存舊文件,您可能希望將舊文件複製到不同的文件系統或遠端位置。在低級術語中,不同之處在於您正在打開現有文件及其 inode 並截斷它。請參閱http://man7.org/linux/man-pages/man2/open.2.html和
O_TRUNC
選項。其他一些在特殊情況下有效的東西。我有時會檢查
/etc/logrotate.d
(或其他一些合適的日誌輪換程序),看看它是如何換出文件的。像 apache2 這樣的一些命令有一個reload
命令會導致它載入配置文件並在此過程中重新打開日誌文件。