简体   繁体   English

为什么我的系统认为rails服务器正在运行?

[英]why does my system think a rails server is running?

recently I feel like some kind of rails process is hanging and I'm not certain what to be thinking about to debug this. 最近我觉得某种导轨过程悬而未决,我不确定该怎么考虑调试这个。 if I type 'ps' and nothing is running, why is rails coughing up this error message about another instance blocking the port ? 如果我键入'ps'并且没有运行,为什么rails咳嗽这个错误消息有关阻止该端口的另一个实例?

/Users/jd/.rvm/gems/ruby-2.1.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:526:in `start_tcp_server': no acceptor (port is in use or requires root privileges) (RuntimeError)
    from /Users/jd/.rvm/gems/ruby-2.1.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:526:in `start_server'
    from /Users/jd/.rvm/gems/ruby-2.1.0/gems/thin-1.6.1/lib/thin/backends/tcp_server.rb:16:in `connect'
    from /Users/jd/.rvm/gems/ruby-2.1.0/gems/thin-1.6.1/lib/thin/backends/base.rb:63:in `block in start'
    from /Users/jd/.rvm/gems/ruby-2.1.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `call'
    from /Users/jd/.rvm/gems/ruby-2.1.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run_machine'
    from /Users/jd/.rvm/gems/ruby-2.1.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run'
    from /Users/jd/.rvm/gems/ruby-2.1.0/gems/thin-1.6.1/lib/thin/backends/base.rb:73:in `start'
    from /Users/jd/.rvm/gems/ruby-2.1.0/gems/thin-1.6.1/lib/thin/server.rb:162:in `start'
    from /Users/jd/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/handler/thin.rb:16:in `run'
    from /Users/jd/.rvm/gems/ruby-2.1.0/gems/rack-1.5.2/lib/rack/server.rb:264:in `start'
    from /Users/jd/.rvm/gems/ruby-2.1.0/gems/railties-4.0.2/lib/rails/commands/server.rb:84:in `start'
    from /Users/jd/.rvm/gems/ruby-2.1.0/gems/railties-4.0.2/lib/rails/commands.rb:76:in `block in <top (required)>'
    from /Users/jd/.rvm/gems/ruby-2.1.0/gems/railties-4.0.2/lib/rails/commands.rb:71:in `tap'
    from /Users/jd/.rvm/gems/ruby-2.1.0/gems/railties-4.0.2/lib/rails/commands.rb:71:in `<top (required)>'
    from bin/rails:4:in `require'
    from bin/rails:4:in `<main>'
[jd@mbp restaurantly (user-auth *)]$ ps
  PID TTY           TIME CMD
26212 ttys000    0:00.24 -/bin/bash
[jd@mbp restaurantly (user-auth *)]$

providing more detail, for some reason, I wasn't being allowed to kill processes ? 提供更多细节,出于某种原因,我不被允许杀死进程? what am I not understanding about processes ? 我不了解流程的原因是什么?

在此输入图像描述

I guess you didn't checked the process. 我猜你没有检查过程。 You should use ps -ef or ps -aux etc etc .. try to do this 你应该使用ps -efps -aux等等。试着这样做

  ps -ef | grep rails | grep -v grep | awk '{print $2}' | xargs kill -9

UPDATE UPDATE

Like i see in your image you are using jekyll which rebuilds the site on changes. 就像我在你的图像中看到的那样,你正在使用jekyll ,它会根据变化重建网站。 Most probably that things is the culprit. 最有可能的事情就是罪魁祸首。 You can either stops jekyll or run it without -w command. 您可以停止jekyll或在没有-w命令的情况下运行它。 You can also uninstall directory_watcher if the problem isn't solved. 如果问题仍未解决,您也可以卸载directory_watcher

And, i think you can run rails in random port by doing say rails s -p 4321 . 并且,我认为你可以通过执行rails s -p 4321在随机端口中运行rails。

Also, you can delete the process by adding -9 in ps command. 此外,您可以通过在ps命令中添加-9来删除该过程。 It is signal(KILL), generally speaking it kills the process gracefully and recursively. 它是信号(KILL),一般来说它会优雅地和递归地杀死进程。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM