title: rails: port is in use or requires root privileges
body: <p>I am getting this error when attempting to start up a rails 4.1.1 server:</p>
  
  <pre><code>Listening on 0.0.0.0:3000, CTRL+C to stop
  Exiting
  /Users/darrenburgess/.rvm/gems/ruby-2.1.2@myflix/gems/eventmachine-1.0.0/lib/eventmachine.rb:526:in `start_tcp_server': no acceptor (port is in use or requires root privileges) (RuntimeError)
  </code></pre>
  
  <p>I have tried the following commands to find and kill the process, however none of them reveal any servers running on 3000</p>
  
  <pre><code>ps ax | grep rails
  ps ax | grep ruby
  lsof -i TCP | grep LISTEN
  lsof -i :3000
  </code></pre>
  
  <p>These, from my research on stack overflow, seem to be all of the available methods for discovering running ports.</p>
  
  <p>In a rails 5 application I am getting the following similar error:</p>
  
  <pre><code>Listening on tcp://0.0.0.0:3000
  Exiting
  /Users/darrenburgess/.rvm/gems/ruby-2.3.1/gems/puma-3.7.0/lib/puma/binder.rb:269:in `initialize': Address already in use - bind(2) for "0.0.0.0" port 3000 (Errno::EADDRINUSE)
  </code></pre>
  
  <p>Note that I can start rails servers on other ports.</p>
  
  <p>This error persists even after machine reboot. Seems I have exhausted all avenues for finding and killing ports in use.  What other things can I try?</p>
  
  <p>UPDATE:
  @hjpotter92 suggests running:</p>
  
  <pre><code>netstat -lntp | grep 3000
  </code></pre>
  
  <p>This however does not work as an option is required for the <code>p</code> argument. According to <code>man netstat</code> the list of protocols is found in <code>etc/protocols</code>.</p>
  
  <p>I looked in that file and found that <code>tcp</code> is a listed protocol. However, this command does not return any output:</p>
  
  <pre><code>netstat -lntp tcp | grep 3000
  </code></pre>
  
  <p>Nor does this command return anything either:</p>
  
  <pre><code>netstat -lnt | grep 3000
  </code></pre>