Pylons:尝试服务时已经使用的地址

时间:2009-07-01 20:03:08

标签: python nginx pylons paste paster

我正在跑塔,我这样做了: 贴片服务器development.ini 它正在运行:5000

但是当我尝试再次运行命令时: paster serve development.ini

我收到此消息: socket.error:[Errno 98]地址已在使用中

有什么想法吗?

6 个答案:

答案 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)

自然netstatnetstat -an | grep 5000在linux上诀窍)。将抓住端口

但是我发现了另一个同样错误的问题。

Python [Errno 98] Address already in use

sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

基本上Python打开套接字需要很长时间。