在 Ubuntu 上“进程自动停(退出/被杀/停止)”是很常见的问题,原因通常可以归为以下几类。你可以对照排查:
当系统内存不足时,Linux 的 OOM Killer 会强制杀掉占用内存最多的进程。
常见表现:
dmesg 或 /var/log/syslog 中有 Out of memory排查:
dmesg | grep -i "killed process"
grep -i "oom" /var/log/syslog
解决:
如果你用 systemd 启动进程:
可能原因:
Restart=nosystemctl stop 或系统更新影响查看:
systemctl status your-service
journalctl -u your-service
查看:
dmesg
journalctl -xe
常见退出码:
1:程序错误137:被 kill(内存)143:SIGTERM139:SIGSEGV查看:
echo $?
如果你在 SSH / 终端直接运行:
python app.py
关闭终端 → 进程收到 SIGHUP
解决:
nohup python app.py &
# 或
screen
tmux
disown
检查:
crontab -l
systemctl list-timers
查看:
last reboot
uptime
如:
查看:
ulimit -a
请补充以下信息,我可以更精确判断:
如果你愿意,可以把下面命令的输出贴出来:
journalctl -xe
dmesg | tail