M1 mac 进程不断自动生成并锁定我的端口

问题描述 投票:0回答:3

我尝试使用端口 5000 运行我的 Express 应用程序,我发现某些进程已经在使用它:

↳ lsof -i :5000
COMMAND    PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ControlCe 1677 user   32u  IPv4 0x728ff8e52d51c6dd      0t0  TCP *:commplex-main (LISTEN)
ControlCe 1677 user   33u  IPv6 0x728ff8e51d98ec65      0t0  TCP *:commplex-main (LISTEN)

所以我只是尝试杀死它们来解锁端口,但它不起作用,因为一旦我运行kill(或sudo Kill)命令,具有新PID的进程就会再次锁定我的5000端口。

↳ kill 1677
↳ lsof -i :5000
COMMAND    PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
ControlCe 2159 user   32u  IPv4 0x728ff8e52fd4dc1d      0t0  TCP *:commplex-main (LISTEN)
ControlCe 2159 user   33u  IPv6 0x728ff8e51d98d0e5      0t0  TCP *:commplex-main (LISTEN)

我杀掉了1677进程,然后又出来了一个新进程(PID为2159)。 它有不同的PID和不同的设备。我已经尝试重新启动我的笔记本电脑,但它也无法正常工作。有使用 M1 或 Intel Mac 的人遇到过类似的问题吗?

编辑:我认为 ControlCe 意味着控制中心?

macos process
3个回答
50
投票

关闭

AirPlay Receiver
(侦听端口 5000)为我解决了这个问题:

转到 系统偏好设置 --> 共享 --> 取消选中

AirPlay Receiver

欲了解更多详情: https://utf9k.net/questions/macos-port-5000-monterey/


4
投票

我也遇到了同样的问题。我认为这是因为 macOS Monterey (12.0)。要修复它,请在终端中运行以下命令:

pkill ControlCenter; nc -l 5000

...然后几秒钟后按 Ctrl+C。

这样做会杀死

ControlCenter
进程,然后启动一个空的 netcat TCP 服务器,监听
ControlCenter
使用的端口,即 5000。这样,因为
ControlCenter
会自动重新启动当它被杀死时,它会在
ControlCenter
启动之前分配该端口,这样当它启动时,它会发现它的端口正在使用,然后它就会死亡。


0
投票

对于 macOS 索诺玛: 去 系统设置 -> 常规 -> Airplay 接收器。 <- Turn it off. Your 5000 port will be released from "ControlCe".

© www.soinside.com 2019 - 2024. All rights reserved.