M1 mac 进程保持自动生成并锁定我的端口
M1 mac process keeps autogenerating and locks my port
我尝试 运行 使用端口 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 Monterey (12.0)。要修复它,运行 在终端中执行此命令:
pkill ControlCenter; nc -l 5000
...几秒钟后按 Ctrl+C。
它会做什么,它会杀死 ControlCenter
进程,然后它会启动一个空的 netcat TCP 服务器侦听 ControlCenter
使用的端口,即 5000。那way,因为ControlCenter
被kill掉后会自动重启,所以它会在ControlCenter
启动之前分配那个端口,这样当它真的启动的时候,发现它的端口被占用了,它就会死掉。
关闭 AirPlay Receiver
(监听端口 5000)为我解决了这个问题:
转到系统偏好设置 --> 共享 --> 取消选中 AirPlay Receiver
我尝试 运行 使用端口 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 Monterey (12.0)。要修复它,运行 在终端中执行此命令:
pkill ControlCenter; nc -l 5000
...几秒钟后按 Ctrl+C。
它会做什么,它会杀死 ControlCenter
进程,然后它会启动一个空的 netcat TCP 服务器侦听 ControlCenter
使用的端口,即 5000。那way,因为ControlCenter
被kill掉后会自动重启,所以它会在ControlCenter
启动之前分配那个端口,这样当它真的启动的时候,发现它的端口被占用了,它就会死掉。
关闭 AirPlay Receiver
(监听端口 5000)为我解决了这个问题:
转到系统偏好设置 --> 共享 --> 取消选中 AirPlay Receiver