我正在跑塔,我这样做了: 贴片服务器development.ini 它正在运行:5000
但是当我尝试再次运行命令时: paster serve development.ini
我收到此消息: socket.error:[Errno 98]地址已在使用中
有什么想法吗?
答案 0 :(得分:15)
我在论坛中找到了这个技巧:
这会终止所有收听端口5000的程序
kill -9 `fuser -n tcp 5000`
答案 1 :(得分:3)
通常这意味着它仍在运行,但只有在守护进程模式下才会发生。启动后,是否收到命令提示符,或者是否必须使用Ctrl-C停止它?
如果你得到一个命令提示符,那就是deamon模式,你必须用
来阻止它paster server development.ini stop
如果您已使用Ctrl-C(当然不是Ctrl-Z)将其停止,我不知道。
答案 2 :(得分:2)
正如我理解你的问题,你启动一些应用程序来侦听端口5000.然后不停止它(?),你尝试启动另一个实例来监听相同的端口?如果是这样,你就不会成功。
您可以使用netstat
始终检查哪个应用程序正在侦听哪个端口号(对于Windows和类UNIX系统,我没有其他人的经验)。
答案 3 :(得分:1)
当服务器意外死亡并且没有正确关闭它的套接字时,这也发生在我身上。从本质上讲,即使进程已经死亡,套接字仍然会在操作系统中列为打开状态。我发现如果我等待30-60秒,操作系统会意识到相关的进程已经死亡,并自动清理套接字。
答案 4 :(得分:0)
您的默认端口8080正在使用。 你应该添加' -p 10000' 在命令后取10000端口
答案 5 :(得分:0)
自然netstat
(netstat -an | grep 5000
在linux上诀窍)。将抓住端口
但是我发现了另一个同样错误的问题。
Python [Errno 98] Address already in use
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
基本上Python打开套接字需要很长时间。