Stopping a runaway Rails server
Published Feb 10th, 2020
Many of us have been there. You hit
ctrl-c on you Ruby on Rails server, but nothing happens. No matter what keys you hit on your keyboard, the Rails server is still running, and you can’t stop it. You have a runaway train on your hands.
If you have ever developed with Ruby on Rails, there is a good chance you have encountered a runaway Rails server. This is basically an instance of the Ruby on Rails server that you cannot easily stop.
Two examples of when you may need this is if you try to start your Rails server and get an error message that one is already running, or you get into a weird state with pry and
ctrl-c won’t stop the server in a timely manner.
Regardless of how you got to this point isn’t really important, you have a runaway train on your hands, and you need to stop it.
Here is how you can do that:
shutup is a gem to help you quickly stop a running Rails server.
To install the gem, make sure you have Ruby installed.
Type the following into your command line:
gem install shutup
Now, whenever you have a Rails server you want to stop, just type the following in your command line to shut it down:
If the command succeeded, you should see something like this:
➜ shutup Killed process id: 46707
If it fails, you will see:
➜ shutup Error reading the pid file.
You could achieve the same effect with Bash or ZSH aliases, or just running the entire process by hand, but this gem removes the need to do that. It’s a simple gem, but it’s one I install whenever I install a new version of Ruby.
Check it out at: lorenzosinisi/shutup
Thanks for reading! You can discuss this post using one of the links below. Additionally, it would mean a lot if you shared this post with others!