Mac上如何杀死占用端口5000且被终止后会自动重启的进程?
进程身份说明
你看到的ControlCe是macOS系统自带的**控制中心(Control Center)**进程的缩写,从macOS Monterey(12.x)版本开始,系统默认开启AirPlay接收器功能,该功能由控制中心进程托管,会默认占用5000、7000两个端口。
无法杀死进程的原因
该进程是系统级守护进程,由系统启动守护服务launchd统一管理,只要launchd检测到该进程退出,就会立即自动重启该进程,因此普通的kill命令无法永久终止它,强制修改系统守护进程配置还可能导致系统功能异常,不建议尝试。
解决方案
方案1:关闭AirPlay接收器释放5000端口
如果你不需要使用AirPlay接收功能,可以直接关闭对应开关永久释放端口:
- 打开【系统设置】→进入【通用】板块→选择【AirDrop与接力】
- 找到【AirPlay接收器】选项,关闭右侧开关即可
操作完成后5000端口会立即释放,无需重启设备,可运行lsof -i:5000验证占用情况。
方案2:为Flask指定其他端口
如果你需要保留AirPlay功能,直接修改Flask启动端口即可,两种常用修改方式:
- 启动时通过参数指定:运行命令
flask run --port 自定义端口号,示例:flask run --port 5001 - 代码中硬编码指定:在Flask启动代码中添加port参数,示例:
if __name__ == '__main__': app.run(port=5001)
内容的提问来源于stack exchange,提问作者void_subroutine
相关产品推荐
相关产品推荐

