nohup 本身只是“忽略挂断信号并运行命令”的工具,真正报错的是被它启动的程序,日志一般写在:
nohup.out(默认)nohup xxx > app.log 2>&1 &下面按实用思路讲怎么分析。
# 默认
ls -lh nohup.out
# 如果用了重定向
ps -ef | grep 你的程序
常见写法:
nohup python app.py > run.log 2>&1 &
那错误就在 run.log
不要从头读,直接看最后的报错:
tail -n 200 nohup.out
或者实时看:
tail -f nohup.out
重点看:
Traceback(Python)Exception / ErrorPermission deniedNo such fileAddress already in useOutOfMemorySegmentation faultnohup: failed to run command ‘xxx’: No such file or directory
✅ 原因:
✅ 解决:
which python
chmod +x app.sh
ModuleNotFoundError
command not found
✅ 原因:
✅ 解决:
nohup bash -c 'source activate env && python app.py' > log 2>&1 &
Address already in use
✅ 解决:
lsof -i:8080
kill -9 PID
Permission denied
✅ 解决:
ls -l 文件
sudo chown -R user:user dir
可能原因:
✅ 查系统日志:
dmesg | grep -i kill
journalctl -xe
nohup /绝对路径/python app.py \
> app.log 2>&1 &
或更稳:
setsid /绝对路径/python app.py > app.log 2>&1 &
如果你愿意,可以把 nohup.out 或报错片段贴出来,我可以直接帮你定位具体原因。