Can't stop rails server

前端 未结 27 1962
别跟我提以往
别跟我提以往 2020-12-04 05:12

I am new to rails and I am using an ubuntu machine and the rubymine IDE. The problem is that I am unable to stop the rails server. I tried to stop the server by killing the

相关标签:
27条回答
  • 2020-12-04 05:20

    It is late for this question. Here is my 2 cents. I made a rake task for stopping the server when I don't have access to it. I only tested on Mac though.

    With this you can simply add it to your project then run the rake command.

    Here you go:

    Gist link: -latest version will be here. https://gist.github.com/houmanka/289184ca5d8d92de0499#file-server-rake

    Some code in here:

    # Make a file under: `project_root/lib/tasks/server.rake`
    
    # Then paste the following code
    
        namespace :server do
          desc "Stop the running server by killing the PID"
          task :kill do
            STDOUT.puts "Enter port number: "
            post_number = STDIN.gets.strip
            system "pid=$(lsof -i:#{post_number.to_i} -t); kill -TERM $pid || kill -KILL $pid"
          end
        end
    
    # Then to use it in the terminal: `rake server:kill`
    
    0 讨论(0)
  • 2020-12-04 05:22

    Delete the server.pid from tmp/pids folder. In my case, the error was: A server is already running. Check /home/sbhatta/myapp/tmp/pids/server.pid.

    So, I delete server.pid

    rm /home/sbhatta/myapp/tmp/pids/server.pid then run rails s

    0 讨论(0)
  • 2020-12-04 05:22

    Also, Make sure that you are doing command Cntrl+C in the same terminal (tab) which is used to start the server.

    In my case, I had 2 tabs but i forgot to stop the server from correct tab and i was wondering why Cntrl+C is not working.

    0 讨论(0)
  • 2020-12-04 05:23

    I generally use:

    killall ruby

    OR

    pkill -9 ruby

    which will kill all ruby related processes that are running like rails server, rails console, etc.

    0 讨论(0)
  • 2020-12-04 05:23

    Step 1: find what are the items are consuming 3000 port.

    lsof -i:3000
    

    step 2 : Find the process named

    For Mac

    ruby      TCP localhost:hbci (LISTEN)
    

    For Ubuntu

    ruby      TCP *:3000 (LISTEN)
    

    Step 3: Find the PID of the process and kill it.

    kill -9 PID
    
    0 讨论(0)
  • 2020-12-04 05:23

    it's as simple as

    pkill -9 ruby
    

    nothing more nothing less

    0 讨论(0)
提交回复
热议问题