When I try and run the server with EventMachine::run
I keep getting the error saying that the port is in use. This started ever since I ran the server in the background with the command nohup
.
I am pretty sure I have killed the process I started:
ps
, and killed it. It no longer shows up.lsof -i :8081
(8081 is the port I ran it on) and nothing shows up.I also thought it could be the lack of me being the root user, so tried it as root to no avail.
I have also restarted the server.
Please let me know if there's anything else I can try.
Note: this is on debian.
Had the same problem.
Ran lsof -i :3000
(3000 is the port I ran it on).
I found out that the port was being used by ruby. I killed the process using kill -9 *pid*
.
When I ran lsof -i :3000
again, nothing showed up.
I then ran rails s
and everything works fine now.
It happens when you didn't stop your server correctly, for example when suspended with Ctrl+Z or running the server twice.
If stopped by Ctrl+Z, this works for me:
Get the running process with:
$ ps ax | grep rails
18192 pts/28 Sl+ 0:05 /home/admin/.rvm/rubies/ruby-2.1.2/bin/ruby bin/rails c
20496 pts/23 Tl 0:08 /home/admin/.rvm/rubies/ruby-2.1.2/bin/ruby bin/rails s
20919 pts/23 S+ 0:00 grep --color=auto rails
And then kill the process in which rails server
running:
$ kill 20496
If it's not closed after a few seconds you can try to "force" close with with -9
(but this prevents any cleanup from Rails):
$ kill -9 20496
Now you can start the server again:
$ rails s
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With