经常见到初次使用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 端口的进程并解决完问题了!
转载请超链接注明:月下博客 » Shadowsocks 端口已被占用的错误解决办法
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!