写作业的时候,在后台运行的 shadowsocks 突然弹出“Shadowsocks 错误:端口已被占用 2000”的报错。
自己是头一次遇到这类问题,下面通过图片演示解决方案。
Step0 重新启动 shadowsocks
关闭 Shadowsocks,并在任务管理器查看 ShadowsocksR 是否已经正常关闭,之后重启之。
这或许是最简单有效的办法,如果还是不能解决问题,则可以进行 Step1->Step2 的步骤。
Step1 在命令提示符中查看对应端口的运行情况
首先进入命令提示符,如图所示输入 netstat -aon|findstr 2000
,查看端口2000
被哪个PID所占用,结果如下图所示。可见,端口2000
所对应的PID为7420
.
之后,输入tasklist |findstr 7420
,找到 PID 为7420
所对应的进程名字。
Step2
Solution1 直接在命令提示符中杀掉进程
在 Step1 的基础上,继续在命令提示符中输入taskkill -pid “7420” -f
强制关闭 PID=7420 的进程。
Solution2 在任务管理器中杀掉进程
尽管 Step2-1 已经足够简单,但这里依然演示一下如何在任务管理器中杀掉进程。如下图所示,打开任务管理器后,在“详细信息”一栏中,根据 PID 的数值找到对应的进行,之后鼠标右键结束任务即可。
Step3 更换 shadowsocks 的端口
如果跑完上面的步骤你仍未能解决端口占用的问题,请尝试更改 shadowsocks 的端口:右键
任务栏中小飞机的图标,点击端口设置
,更改本地端口
的值。这里我们被占用的端口是 2000
,尝试改成未被占用的端口,如1080
.
Good luck!