我在mac上,做:

rails server

我得到:

2010-12-17 12:35:15] INFO  WEBrick 1.3.1
[2010-12-17 12:35:15] INFO  ruby 1.8.7 (2010-08-16) [i686-darwin10.4.0]
[2010-12-17 12:35:15] WARN  TCPServer Error: Address already in use - bind(2)
Exiting

我知道我可以在一个新的端口上启动一个进程,但是我想终止这个进程。


当前回答

一句话解决方案:

kill -9 $(ps aux | grep 'rails s' | awk {'print$2'}); rails s

其他回答

有时,可能会出现rails服务器没有正确关闭的情况。 您可以找到rails使用的进程

Ps aux | grep轨道

输出如下所示

user     12609  9.8  0.5  66456 45480 pts/0    Sl+  21:06   0:02 /home/user/.rvm/rubies/ruby-2.2.0-preview1/bin/ruby bin/rails s

这里process_id 12609被您的rails服务器使用。

你可以通过命令轻易地杀死它

杀死-9 12609

如果你使用的是windows机器,请遵循以下步骤。

c:/project/
cd tmp
c:/project/tmp
cd pids
c:/project/tmp/pids
dir

这里有一个名为server.pid的文件

删除它。

c:/project/tmp/pid> del *.pid

这是它。

编辑:请参考这个

一句话解决方案:

kill -9 $(ps aux | grep 'rails s' | awk {'print$2'}); rails s

类型:

man lsof

然后寻找-w -n和-i

-i:网络东西 -n:加快速度 -w:切换警告

手册页上有更多的细节

缺省情况下,rails服务器使用3000端口。 因此,您有两个选项来运行rails服务器。 1. 您可以使用以下命令定义自定义端口,从而在其他端口上运行服务器 Rails s -p 3001 2. 或者您可以通过运行以下命令关闭所有正在运行的ruby进程 Killall -9红宝石 然后运行rails服务器