SuperAPI AI 工具集

process-cleanup

通用与其它

查看项目

更新于 10-16 07:56

技能介绍

用途:检测并清理僵尸进程。僵尸进程(状态 Z)是已退出但父进程尚未调用 wait() 回收退出状态的过程;它不消耗 CPU 或内存,但占用 PID,可能不断累积。僵尸进程无法被杀死,只能通过向父进程发送 SIGCHLD 促其回收,或终止父进程让 init/launchd 收养并回收孤儿进程。

主要能力:查询进程状态、列出僵尸进程、发送 SIGCHLD、报告忽略 SIGCHLD 的父进程 PID。

使用方式:查询进程状态始终使用 ps(BSD);若 ps 被别名,使用 /bin/ps 绕过。列出僵尸:/bin/ps ax -o pid,state,ppid,user,command | awk '$2 ~ /Z/'。列出全部进程状态:/bin/ps ax -o pid,state,ppid,etime,args。运行辅助脚本扫描僵尸:bash scripts/kill-zombies.sh 为默认仅检测;bash scripts/kill-zombies.sh --kill 会向父进程发送 SIGCHLD。

适用场景:用户要求查找僵尸进程、杀死僵尸进程、清理僵尸进程、检查僵尸进程或回收僵尸进程时。

限制与安全:默认模式仅检测,不发送任何信号;使用 --kill 时脚本向父进程发送 SIGCHLD,属非破坏性提醒;若父进程忽略 SIGCHLD,脚本会报告父进程 PID,需先与用户确认再终止它;绝不要杀死 PID 1(init/launchd)。其他细节暂未提供。