我正在运行web2py的python脚本,并希望记录其输出。我正在使用以下命令
nohup python /var/www/web2py/web2py.py -S cloud -M -N -R applications/cloud/private/process.py >>/var/log/web2pyserver.log 2>&1 &
进程正在运行但未登录文件。我也试过没有nohup,但它仍然是相同的。 nohup.out中nohup的默认日志记录也不起作用。 有什么可能出错的建议吗?
答案 0 :(得分:3)
没什么可担心的。实际上python进程和nohup一起以批处理模式记录文件,我只能在很长一段时间后看到输出而不是瞬间。
答案 1 :(得分:0)
nohup会尝试在本地目录中创建该文件。你可以在你运行它的文件夹中创建一个文件吗?
答案 2 :(得分:0)
如果您的打印报表中有逗号,则很可能是因为缓冲。您可以在代码中放置一个sys命令(忘记哪个),或者当您运行nohup时,只需添加选项-u并禁用std(in | out | err)缓冲
答案 3 :(得分:0)
不用担心,这是因为有缓冲机制,使用-u标志运行Python脚本可以解决问题:
nohup python -u code.py > code.log &
或者只是
nohup python -u code.py &