Wil*_*ell 16 ruby port tcp eventmachine
当我尝试运行服务器时,EventMachine::run我不断收到错误消息,说明该端口正在使用中.自从我使用命令在后台运行服务器以来,这开始了nohup.
我很确定我已经杀了我开始的过程:
ps,并将其杀死.它不再出现了.lsof -i :8081(8081是我运行它的端口),没有任何显示.我也认为可能是我缺乏root用户,所以尝试root作为无效.
我也重新启动了服务器.
如果还有什么我可以尝试,请告诉我.
注意:这是关于debian的.
小智 25
当您没有正确停止服务器时,例如在使用Ctrl + Z挂起或运行服务器两次时,就会发生这种情况.
如果通过Ctrl + Z停止,这适用于我:
获取正在运行的进程:
$ ps ax | grep rails
18192 pts/28 Sl+ 0:05 /home/admin/.rvm/rubies/ruby-2.1.2/bin/ruby bin/rails c
20496 pts/23 Tl 0:08 /home/admin/.rvm/rubies/ruby-2.1.2/bin/ruby bin/rails s
20919 pts/23 S+ 0:00 grep --color=auto rails
Run Code Online (Sandbox Code Playgroud)
然后杀死rails server运行的进程:
$ kill 20496
Run Code Online (Sandbox Code Playgroud)
如果它在几秒钟后没有关闭,你可以尝试用"强制"关闭-9(但是这可以防止从Rails中进行任何清理):
$ kill -9 20496
Run Code Online (Sandbox Code Playgroud)
现在您可以再次启动服务器:
$ rails s
Run Code Online (Sandbox Code Playgroud)
Han*_*lah 25
有同样的问题.
Ran lsof -i :3000(3000是我运行它的端口).
我发现红宝石正在使用该端口.我使用了这个进程kill -9 *pid*.
当我lsof -i :3000再次跑步时,什么都没有出现.
然后我跑了rails s,现在一切正常.
Wil*_*ell 18
我终于明白了:实际上我绑定的IP地址是不正确的!
所以基本上它是一个非常误导的错误消息,如果你得到它,也检查IP地址.