Mac Pro 2013(High Sierra)关闭5900端口或排查占用进程求助
解决High Sierra Mac Pro上5900(VNC)端口持续开放的问题
咱们来搞定你遇到的这个5900端口一直开放的问题——既然你已经确认TeamViewer已经关闭,那大概率是系统自带的屏幕共享(VNC)服务在后台运行,或者有残留进程。按下面的步骤一步步排查:
1. 定位占用5900端口的进程
首先打开终端,运行这条需要管理员权限的命令(输入密码时终端不会显示字符,正常输入即可):
sudo lsof -i :5900
这条命令会列出所有占用5900端口的进程信息,重点看PID(进程ID)和进程名称(比如ScreenSharing或RemoteManagement)。
- 如果有输出:记下对应的PID和进程名,继续下一步;
- 如果没有输出:用
netstat -an | grep 5900查看端口状态,如果显示TIME_WAIT,这是连接断开后的临时残留状态,过几分钟会自动释放,不用额外操作。
2. 关闭对应服务/进程
情况1:进程是系统「屏幕共享」(ScreenSharing)
- 图形界面操作:打开「系统偏好设置」→「共享」,找到「屏幕共享」选项,取消勾选。操作完成后,再用
lsof -i :5900验证端口是否已经关闭。 - 若图形界面已取消勾选但进程仍在运行:用终端强制终止进程,把命令里的
[PID]替换成你刚才查到的实际进程ID:sudo kill -9 [PID]
情况2:进程是「远程管理」(RemoteManagement)
同样在「系统偏好设置」→「共享」里,取消勾选「远程管理」选项;或者用上述kill命令终止对应的PID即可。
情况3:其他第三方进程
如果查到的是陌生的第三方进程,直接用kill -9命令终止,之后检查该软件的设置,确保它不会自动启用VNC服务。
3. 防止端口再次自动开放
关闭服务后,回到「系统偏好设置」→「共享」,确保「屏幕共享」和「远程管理」都处于未勾选状态,这样下次重启Mac时,5900端口就不会自动开放了。
如果以上操作后还是有问题,试试重启Mac——有时候系统进程的残留需要重启才能彻底清除。
内容的提问来源于stack exchange,提问作者Pat OBrien




