Linux 进程“消失”通常不是无缘无故的,常见原因可以分为进程自己退出、被系统/用户杀掉、异常崩溃、或被特殊机制回收几类。下面按出现频率和经验来梳理:
SIGTERM(15):通常来自 killSIGINT(2):Ctrl+CSIGHUP(1):终端关闭(某些程序未设置忽略)kill -9 PID
pkill xxx
killall xxx
dmesg | grep -i "killed process"
或
journalctl -k | grep -i oom
Restart=on-failure
RestartSec=5
systemctl status xxx
journalctl -u xxx
ulimit -c
coredumpctl list
init(PID 1)接管wait()Z,不占资源但占 PIDnohup / setsid / &loginctl terminate-sessionps -ef | grep xxx
journalctl -u xxx
dmesg
/var/log/messages
systemd 管理长期进程Restart=alwayssupervisor, monit, systemd如果你能补充:
我可以更精确地判断“它为什么消失”。