当mac程序卡死且图形界面失效时,可通过终端命令精准终止:先用ps aux | grep -i“程序名”查pid(避开grep自身行),再用kill [pid]发送sigterm;若无效则用kill -9 [pid]强制终结;也可用killall“名称”或pkill -f“关键词”批量或模糊匹配终止。

Mac上某个程序卡死不动、光标转圈、Dock图标灰掉,图形界面方法全失效,但键盘还能用——这时候必须绕过界面,直击进程底层,用终端命令精准杀死它。
先查出目标进程的PID
打开“终端”(可通过聚焦搜索:按 Command + 空格,输入“终端”,回车)。
输入 ps aux | grep -i "程序名",例如程序是“钉钉”,就输 ps aux | grep -i "dingtalk",回车执行。
输出结果里每一行开头的数字就是 PID;注意看 COMMAND 列是否包含你确认卡死的应用路径,比如 /Applications/DingTalk.app/Contents/MacOS/DingTalk,对应那一行最左边的数字才是真 PID——别错选了 grep 自身那行(含 grep 字样的那行 PID 无效)。
【grep 自身会生成一个临时进程,它的 PID 不是你想找的目标,务必跳过这一行】
用 kill 命令发送终止信号
输入 kill [PID],把方括号里的 [PID] 替换成上一步查到的真实数字,例如 kill 17824,回车。
这会发送 SIGTERM 信号,允许进程自行保存、释放资源后再退出。多数情况下几秒内就结束。
如果 5 秒后程序窗口还在、活动监视器里进程仍存在,说明它已无法响应常规终止——立刻改用强制手段。
用 kill -9 强制终结(不可逆)
输入 kill -9 [PID],例如 kill -9 17824,回车执行。
【-9 参数代表 SIGKILL,进程会被立即抹除,不执行任何清理动作,文件可能丢失未保存内容】
执行后,该 PID 进程瞬间消失,活动监视器里找不到,Dock 图标也不再高亮或抖动。
不想找 PID?直接按名称批量杀
方法一:输入 killall "应用程序名称",例如 killall "WeChat"(名称含空格必须加英文双引号)。
方法二:如果普通 killall 没反应,追加 -9:killall -9 "Google Chrome",直接干掉所有同名实例。
注意:名称必须和活动监视器里“进程名称”列显示的完全一致——大小写敏感,不带 .app 后缀,也不含路径。比如 Safari 就写 Safari,不是 /Applications/Safari.app。
复杂场景:用 pkill 模糊匹配
第一步:输入 pkill -f "关键词",例如程序启动命令是 python3 /Users/me/project/server.py,就输 pkill -f "server.py"。
第二步:若需强制,加 -9:pkill -9 -f "server.py"。
pkill -f 会匹配整条启动命令,比只匹配进程名更准;但也要小心,别误杀其他含相同关键词的进程。











