nohup 日志不输出,常见原因和排查办法如下:
你可能以为会写到 nohup.out,但实际上命令里已经重定向了:
nohup command > log.txt 2>&1 &
这时 nohup.out 就没有内容了。
✅ 解决:
nohup command &
有些程序:
✅ 解决:
command
很多语言(Python / Java / C++)在非终端下会启用全缓冲:
print("hello") # 可能不立即写入文件
✅ Python 解决办法:
python -u app.py
或加环境变量:
PYTHONUNBUFFERED=1 nohup python app.py &
✅ Java:
java -Djava.util.logging.SimpleFormatter ...
如果程序启动就报错退出,nohup.out 可能:
✅ 检查:
ps aux | grep your_app
或看退出码:
echo $?
nohup.outsudo,但日志写到了 root 目录✅ 解决:
nohup command > /tmp/app.log 2>&1 &
nohup your_command > app.log 2>&1 &
然后实时看日志:
tail -f app.log
如果你愿意,可以把:
发出来,我可以直接帮你定位。