昨天用tornado写了几个的小后台程序,里面端口我都是默认8080端口,然而当我第一个运行之后,后面的运行时都报出:socket error 10048:通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
后来上网搜了一下这个问题,而且也用任务管理器查看详细信息
如上图,刚开始一直以为上面的PID就是端口号,然后一直在找8080,结果压根就找不到,后来上网搜了一下才发现那是进程ID,即进程号。因为我第一个tornado后台小程序已经结束了,所以我发现在任务管理器上看不到,但是那个端口8080还是处于已建立连接状态,即无法被其他进程使用。这时我上网搜了一下发现可以用命令行查看端口占用情况,Windows下面都是netstat -ano
上面本地地址下面的IP地址的最后一个代表的就是端口,例如80端口被进程1872占用
此时我们可以找到我们要释放的端口对应的进程号,然后用tasklist /fi "pid eq PID"(这里的PID填写占用你所需端口的进程号),例如占用我8080端口的PID为5000,那么我就可以用tasklist fi "pid eq 5000"来查看详细情况,然后如果想释放这个端口,不同系统该命令可能有点小差异。我的电脑是win8的,使用TASKKILL /f /PID 5000来释放端口。
到这里我电脑被占用的8080端口就被释放了,所以我就可以用8080端口来运行其他程序了。