在 Linux 下“监控进程”可以从实时查看、资源占用、日志审计、自动告警几个层面来做。下面按常用程度 + 场景给你一个系统性的总结。
ps —— 查看某一时刻进程快照ps aux
ps -ef
ps -eo pid,ppid,user,%cpu,%mem,cmd
常用组合:
ps aux --sort=-%cpu | head
ps aux --sort=-%mem | head
top / htop —— 实时监控系统top
P CPU 排序M 内存排序更友好:
htop
pstree —— 查看进程关系pstree -p
pstree -p <pid>
top -p <pid>
lsof -p <pid>
lsof -i :8080
strace -p <pid>
systemd 服务状态监控systemctl status nginx
journalctl -u nginx -f
适合:
cron + 脚本(简单自愈)示例:进程挂了自动重启
pgrep mysqld || systemctl restart mysqld
Prometheus + Node ExporterZabbixSupervisorif ! pgrep -f "my_app" > /dev/null; then
echo "进程异常" | mail admin@xx.com
fi
我可以直接帮你写监控脚本或配置方案。