nohup 日志没有生成,常见原因和排查方法如下:
nohup 默认只保证进程不挂断,日志是否生成取决于你有没有重定向:
nohup command &
这样不会生成 nohup.out(某些 shell 不会自动创建)。
✅ 正确写法:
nohup command > nohup.out 2>&1 &
或分开:
nohup command > out.log 2> err.log &
如果程序:
print / echo / log那么日志文件即使创建了,也可能是 0 字节。
✅ 解决:
-unohup python -u app.py > log.out 2>&1 &
nohup.out 默认写在当前目录
pwd
ls -ld .
如果无写权限:
nohup: ignoring input and appending output to 'nohup.out'
nohup: failed to open 'nohup.out': Permission denied
✅ 解决:
nohup command > /tmp/app.log 2>&1 &
进程启动后马上报错退出,日志可能:
stderr 而不是 stdout✅ 排查:
jobs
ps -ef | grep command
并查看:
cat nohup.out
docker logsjournalctlnohup 在这些环境里常常“看似无效”。
nohup your_cmd > run.log 2>&1 &
sleep 2
ls -l run.log
cat run.log
ps -ef | grep your_cmd
nohup your_command >> /var/log/app.log 2>&1 &
disown
如果你愿意,可以把:
发出来,我可以直接帮你定位。