Mac终端clang/gcc执行报错zsh: killed问题求助
解决Intel版2019 MacBook Air(Ventura 13.4.1)中Clang/GCC被终止的问题
1. 先排查路径优先级问题
- 执行
echo $PATH,看看/usr/local/bin是不是在/usr/bin前面——你/usr/local/bin下有两个clang,大概率是这个路径下的文件损坏导致被kill。 - 直接调用系统默认clang测试:
/usr/bin/clang --version,如果能正常输出版本,说明问题出在/usr/local/bin的clang上。
2. 清理/usr/local/bin下的异常clang文件
- 先备份这两个文件,避免误删:
sudo mv /usr/local/bin/clang /usr/local/bin/clang.bak sudo mv /usr/local/bin/clang++ /usr/local/bin/clang++.bak - 再执行
clang --version,此时系统会自动调用/usr/bin下的默认版本,看还会不会出现被终止的错误。
3. 修复Homebrew环境
- 先跑Homebrew自检:
brew doctor - 跟着提示修复所有权限、依赖相关的问题。
- 重新通过Homebrew安装llvm(包含clang):
brew install llvm - 安装完成后,按照终端提示把llvm的bin目录加到PATH最前面,确保后续调用的是正常的brew版本。
4. 检查系统完整性保护(SIP)状态
- 执行
csrutil status看SIP是否开启。如果SIP关闭,可能导致系统或第三方工具权限紊乱,引发进程被kill。 - 要是SIP关闭了,重启Mac按住Command+R进入恢复模式,打开终端执行
csrutil enable,重启后再测试。
5. 查日志找深层原因
- 搜索最近1小时内clang/gcc被终止的日志:
log show --predicate 'process == "clang" OR process == "gcc"' --info --last 1h - 日志里会明确显示进程被kill的原因(比如内存不够、代码签名失效、权限不足等),照着原因针对性修复就行。
内容的提问来源于stack exchange,提问作者jules
相关产品推荐
相关产品推荐

