Menu Close

Shadowsocks端口已被占用的错误解决办法

经常见到初次使用Shadowsocks的小白遇到这个问题,打开Shadowsocks后提示端口已占用,却不知道如何解决,所以我干脆就写个文章好了。


问题说明

出现这种提示或者类似内容的,可以继续看解决方法。

解决方法

这种情况,就是 Shadowsocks 的本地端口(默认1080)被其他程序占用了,一个端口只能一个程序使用,所以 Shadowsocks 就会无法使用。

方法一:Shadowsocks重复运行

最常见情况就是以前启动 Shadowsocks 后没有关闭或者有进程残留(没有正常关闭),导致端口没有被释放,再运行 Shadowsocks 的时候就会出现这种错误提示。

这时候就可以去进程管理器找到 Shadowsocks 的进程并结束就解决了。

方法二:重启电脑

当然,其实有一个很简单的办法也可以解决这个问题,那就是重启电脑,只要占用端口的程序不是开机启动,重启后 Shadowsocks 的默认端口(1080)就会是闲置状态,再打开 Shadowsocks 就不会提示这个错误了,如果重启后还有这个问题,就要通过下面这个办法查找一下是那个进程占用了端口。

方法三:查找并结束占用端口的进程

这里就要用到CMD的 netstat 命令了,首先点左下角的 开始菜单——运行——输入 cmd 并确定,接着在CMD程序中输入netstat -aon|findstr 本地端口(例如默认的1080 netstat -aon|findstr 1080)。

然后就会显示出正在占用这个端口的 进程PID(右边红框里的1828),通过进程PID可以在任务管理器里找到对应的进程。

打开任务管理器,找到PID为 1828 的进程,并结束进程。

如果你没有PID这个列,可以在 菜单—查看—选择栏 中勾选PID(进程标识符)

这时候我们就已经找到占用 Shadowsocks 端口的进程并解决完问题了!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注