M1 mac进程一直在自动生成并锁定我的端口



我试着用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或英特尔Mac电脑的用户遇到过类似的问题?

编辑:我认为ControlCe的意思是控制中心?

关闭AirPlay Receiver(在端口5000上侦听(为我修复了问题:

转到系统首选项-->共享-->取消选中AirPlay Receiver

有关更多详细信息:https://utf9k.net/questions/macos-port-5000-monterey/

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

pkill ControlCenter; nc -l 5000

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

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