Python 挂架:尝试服务时已使用的地址

Python 挂架:尝试服务时已使用的地址,python,nginx,pylons,paste,paster,Python,Nginx,Pylons,Paste,Paster,我在运行塔架,我做到了: 粘贴服务器开发.ini 运行时间:5000 但当我再次尝试运行该命令时: paster serve development.ini 我得到这个信息: socket.error:[Errno 98]地址已在使用中 有什么想法吗?通常这意味着它仍在运行,但只有在处于守护程序模式时才会发生。启动后,您是得到命令提示,还是必须使用Ctrl-C停止它 如果你得到一个命令提示符,它是deamon模式,你必须停止它 paster server development.ini stop

我在运行塔架,我做到了: 粘贴服务器开发.ini 运行时间:5000

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

我得到这个信息: socket.error:[Errno 98]地址已在使用中


有什么想法吗?

通常这意味着它仍在运行,但只有在处于守护程序模式时才会发生。启动后,您是得到命令提示,还是必须使用Ctrl-C停止它

如果你得到一个命令提示符,它是deamon模式,你必须停止它

paster server development.ini stop

如果您已经用Ctrl-C(当然不是Ctrl-Z)停止了它,我不知道。

我理解您的问题,您可以启动一些应用程序来监听端口5000。然后在不停止它的情况下(?),尝试启动另一个实例来侦听同一端口?如果是这样,你就不会成功


您可以使用
netstat
随时检查哪个应用程序正在侦听哪个端口号(对于Windows和类似UNIX的系统,我对其他系统都没有经验)。

当服务器意外死亡,并且没有正确关闭其套接字时,我也会遇到这种情况。从本质上讲,套接字仍然在操作系统中被列为打开的,即使进程已经停止。我发现,如果我等待30-60秒,操作系统将意识到相关进程已停止,并自动清理套接字。

您的默认端口8080正在使用。 你应该加上“-p 10000”
命令获取端口10000后,我在论坛中发现了以下技巧:

这将杀死所有监听端口5000的程序

kill -9 `fuser -n tcp 5000`

自然地,
netstat
netstat-an | grep5000
在linux上起作用)。他会抢占港口

然而,我发现另一个问题也有同样的错误


实际上,Python打开套接字的时间太长

我尝试了这里所有经过投票的答案,但没有一个适合我。但是下面这个命令就起作用了

sudo kill $(sudo lsof -t -i:5000)

这将终止侦听端口
5000

的进程。使用
fuser 5000/tcp-k
sudo kill $(sudo lsof -t -i:5000)