我正在运行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的默认日志记录也不起作用。有什么可能出错的建议吗?
没什么好担心的。实际上python进程和nohup一起以批处理模式记录文件,我只能在很长一段时间后看到输出而不是瞬间。
nohup将尝试在本地目录中创建该文件。你可以在运行它的文件夹中创建一个文件吗?
如果您的打印报表中有逗号,则很可能是因为缓冲。您可以在代码中放置一个sys命令(忘记哪个),或者当您运行nohup时,只需添加选项-u,您将禁用std(in | out | err)缓冲
不要担心这个,正是因为缓冲机制,用-u标志运行你的Python脚本才能解决问题:
nohup python -u code.py > code.log &
要不就
nohup python -u code.py &