macOS Monterey下.Net Core应用用5000端口无法启动Kestrel问题
问题原因
macOS Monterey及以上版本新增的隔空播放接收器功能默认会占用5000、7000两个端口,你查询到的ControlCe进程就是系统控制中心(ControlCenter)的进程,属于系统内置核心服务,手动杀死后会被系统自动重新拉起,所以无法通过kill命令释放端口,这和你的.NET SDK、运行时版本没有关联。
解决方案
你可以根据自身需求任选一种方案解决:
- 方案1:关闭隔空播放接收器释放端口
操作步骤如下:- 打开「系统设置」
- 进入「通用」-「隔空投送与接力」页面
- 关闭「隔空播放接收器」选项,关闭后5000端口会立即释放,无需重启系统,即可正常使用
ASPNETCORE_URLS=http://*:5000配置启动.NET Core应用
- 方案2:修改.NET Core应用监听端口
不修改系统设置的前提下,你可以将应用监听端口改为除5000、7000外的其他未被占用端口,比如你现在使用的5001即可正常运行。
内容的提问来源于stack exchange,提问作者Samet ÇELİKBIÇAK
相关产品推荐
相关产品推荐

