使用无缓冲的外壳重定向时,stdout 和 stderr 不会进入文件



我有一个在树莓派上无限期运行的脚本。我使用 rc.local 在启动时运行它。我有一些错误,仅在运行脚本数小时或数天后出现。我想将输出和错误捕获到日志文件中,以便在出现错误后进行查看,因此我在启动时实现了这些选项。

python3 -u /home/pi/Documents/Python Files/Temp_Monitor_Project/temp_controller.py &>> /home/pi/Documents/Python Files/Temp_Monitor_Project/temps files/logfile.txt &

文件日志文件.txt已创建,但从未在其中放入任何数据。当文件被缓冲并且从未关闭时,我希望这样做,但在这种情况下,任何打印或错误都应该立即出现。右?

这也导入了我编写的其他模块,有些我没有。来自这些的任何标准或标准输出也会被重定向,对吗?

试试nohup .

nohup python3 -u '/home/pi/Documents/Python Files/Temp_Monitor_Project/temp_controller.py' >> '/home/pi/Documents/Python Files/Temp_Monitor_Project/temps files/logfile.txt' 2>&1 &

我引用了路径,而不是只反向引用嵌入的空格。扬子晚报.

最新更新