我更新了输出以使其更具可读性。仍然得到这个错误。
Noob问题。有没有其他人看到这个错误?这个错误似乎正在蔓延。它现在发生在端口3000和3001.如果我将代码和调试设置更改为3002,那么我可以继续调试。
$: rails s -p 3000
=> Booting Thin
=> Rails 3.2.11 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Thin web server (v1.6.4 codename Gob Bluth)
Maximum connections set to 1024
Listening on 0.0.0.0:3000, CTRL+C to stop
Exiting
/home/xxx/.rvm/gems/ruby-1.9.3-p551@ats/gems/eventmachine-1.0.8/lib/eventmachine.rb:534:in `start_tcp_server': no acceptor (port is in use or requires root privileges) (RuntimeError)
答案 0 :(得分:2)
运行
ps ax | grep rails
这将返回当前运行的rails服务器的进程号
那么你可以做到
kill -9 *process_numer*
这个答案假设你不小心退出了rails服务器,按Ctrl + Z而不是Ctrl + C,它没有正确处理进程,现在正在占用端口。
答案 1 :(得分:1)
当某个进程已在使用该端口时,会发生此错误。
通常这种情况发生在rails服务器已经启动时(例如 - 对于其他项目,你忘了阻止它)
使用ps ax | grep rails | grep -v grep
和lsof -n -i4TCP:3000 | grep LISTEN
使用端口3000