2014-03-19 65 views
1

我想使用port no localhost:3000 for rails并且已经采用其他进程如何释放此端口?如何在Ubuntu中释放端口

我已经运行此命令

ruby abc/script/server 

,并面临着这样的错误

/usr/lib/ruby/1.9.1/webrick/utils.rb:85:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE) 
from /usr/lib/ruby/1.9.1/webrick/utils.rb:85:in `new' 
from /usr/lib/ruby/1.9.1/webrick/utils.rb:85:in `block in create_listeners' 
from /usr/lib/ruby/1.9.1/webrick/utils.rb:82:in `each' 
from /usr/lib/ruby/1.9.1/webrick/utils.rb:82:in `create_listeners' 
from /usr/lib/ruby/1.9.1/webrick/server.rb:82:in `listen' 
from /usr/lib/ruby/1.9.1/webrick/server.rb:70:in `initialize' 
from /usr/lib/ruby/1.9.1/webrick/httpserver.rb:45:in `initialize' 
from /usr/lib/ruby/vendor_ruby/rack/handler/webrick.rb:10:in `new' 
from /usr/lib/ruby/vendor_ruby/rack/handler/webrick.rb:10:in `run' 
from /var/www/abc/vendor/rails/railties/lib/commands/server.rb:111:in `<top (required)>' 
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
from abc/script/server:3:in `<main>' 
+0

什么是'ps -e | grep红宝石结果? – methyl

回答

3

netstat -tulpn | grep 3000 - 会给你进程的PID

e.g:

tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN  5726/ruby1.9.1 

这里5726是PID,杀死它使用kill -9 5726

0

你也可以启动轨服务器在不同的端口

rails server -p 4000 
1

尝试类似这样:

lsof -wni tcp:3000 

会显示这样的:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME 
ruby 3824 rony 9r IPv4 50665  0t0 TCP *:3001 (LISTEN) 

然后用这个PID杀死这个:

kill -9 3824 

谢谢!

相关问题