nohup 日志突然停止,通常不是“程序被 nohup 杀掉”这么简单,而是要分几种情况来看。下面按最常见原因 → 排查方法给你梳理:
ps 里找不到进程nohup.out 最后一行像是正常结束exit()ps -ef | grep 你的程序
dmesg | grep -i kill
看是否出现 Out of memory
strace 或 ls -l 看文件大小没变python -u xxx.py
或代码里:
print(x, flush=True)
fflush(stdout);
你可能以为是 nohup.out,但其实:
nohup xxx > app.log 2>&1 &
ls -l /proc/进程号/fd
看 1 和 2 指向哪个文件
echo >> nohup.out 也失败df -h
df -i
touch nohup.out
如果你:
Ctrl+C 或关闭 shell 不规范nohup xxx > run.log 2>&1 &
disown
或用 setsid:
setsid xxx > run.log 2>&1 &
ls -l nohup.out
cat /etc/logrotate.d/*
如果你愿意,可以把:
nohup.out 最后几行
发出来,我可以直接帮你判断是哪一种。