我不知道我做了什么。我想我更新了我的Ruby on Rails。更新后,我总是在运行$ rails服务器时出错。
输出
ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/utils.rb:73:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE)
我会重新启动控制台并运行rails服务器,它可以正常工作几分钟但是它会停止响应,如果我重新启动rails服务器,它会再次给我错误。我尝试在不同的端口上运行(rails s -p 9191),它给了我同样的问题。
任何想法我做错了什么? Thnx家伙
答案 0 :(得分:35)
在其他端口上运行:
rails s -p 3001
所以它会加载到localhost:3001
或杀死所有ruby进程:
killall ruby
然后运行rails s
答案 1 :(得分:22)
我认为你的rails服务器在你关闭之后会继续运行。您可以尝试
ps aux | grep ruby
看到pid然后杀死那个pid
kill -9 <pid>
现在您可以使用
重新启动服务器rails s
注意:从下次开始尝试使用Ctrl D终止rails服务器。这可能会有所帮助
答案 2 :(得分:1)
我也遇到了问题,因为ruby实例没有正确终止。我们可以通过pids终止在后台运行的进程。
lsof -wni tcp:3000
显示ruby的所有正在运行的pid。并终止该pid。
kill -9 PID
或使用
killall ruby