最近我觉得某种导轨过程悬而未决,我不确定要考虑调试这个问题。如果我键入'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 *)]$
提供更多细节,出于某种原因,我不被允许杀死进程?我不了解流程的原因是什么?
答案 0 :(得分:3)
我猜你没有检查过程。您应该使用ps -ef
或ps -aux
等等。尝试执行此操作
ps -ef | grep rails | grep -v grep | awk '{print $2}' | xargs kill -9
更新
就像我在您的图片中看到的那样,您正在使用jekyll
来重建网站。最有可能的事情就是罪魁祸首。您可以停止jekyll
或在没有-w
命令的情况下运行它。如果问题仍未解决,您也可以卸载directory_watcher
。
而且,我认为你可以通过说rails s -p 4321
在随机端口中运行rails。
此外,您可以通过在-9
命令中添加ps
来删除该过程。它是信号(KILL),一般来说它会优雅地和递归地杀死进程。