我在后臺的 AWS Lightsail linux 服務器中執行了一個 python 代碼它包含 5M 記錄插入,并且我在每次插入后添加了日志。我在 852 之后看不到日志輸出。
我可以看到我的行程仍在后臺運行

如果我洗掉 nohup.out 檔案,它會用新日志重新創建檔案嗎?如何查看 python 代碼的實際日志?
uj5u.com熱心網友回復:
我假設你開始你的程式nohup是這樣使用的:
nohup your_program maybe some arguments &
該nohup命令將nohup.out 在啟動程式之前將輸出重定向到。您的程式不知道輸出被重定向。這就是為什么你不能讓它重新創建輸出檔案nohup.out。
如果您洗掉nohup.out,您只會洗掉目錄條目。stdout在程式終止(或關閉and )之前,該檔案仍將作為包含所有資料的 inode 存在于您的磁盤上stderr,但您無法再通過其名稱訪問該檔案。
如果您沒有看到任何新的輸出,那么您的程式不會產生任何輸出。請注意,輸出可能是緩沖的,因此只有當程式寫入一定量的資料時,它才會出現在檔案中。你必須檢查你的程式在做什么。它可能以某種方式被阻止,或者您的程式中可能存在錯誤。
也許您可以使用它strace來檢查您的程式執行了哪些系統呼叫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/425671.html
下一篇:設定一個動態創建的bash變數
