问题
Newbie here. I created a rails project in rubymine to run the default index.html from public folder I pressed 'shift' + F10 key. This is same as rails server from the terminal. This is what I get:
/home/bubble/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /home/bubble/Desktop/Hard Boiled Bubble/bubbles/script/rails server -b 0.0.0.0 -p 3334 -e development => Booting Mongrel => Rails 3.1.0.rc1 application starting in development on http://0.0.0.0:3334 => Call with -d to detach => Ctrl-C to shutdown server
Nice clean. But now I cannot shutdown the server. It simply doesn't work. Neither from terminal nor rubymine. I have to kill the process from the system monitor everytime.
Any clues, of what can be wrong in my set up? Is is because of rails 3.1.0.rc --pre ??
回答1:
Got similar issue with Rubymine 3.1 (it do not seems to be a Rubymine issue) and rails 3.0.9 (it also do not seems to be a Rails issue). Om my computer I have the same problem by running the erver from the console.
Try running rails s
in the console from your application directory, and stop the process (server) by pressing Ctrl+C.
On my Ubuntu 11.4 + Rails 1.9.2 (via RVM) it doesn't work as well, proving the issue do not come from Rubymine.
Looking around the web, it is quite common that ruby server "stale", but it is the very first time I see it, and didn't get the solution for now (sorry for that).
Last but not least ! Process stale with all ruby server I tried : Webrick, Mongrel & Thin. Making me think, it is a ruby issue, it seems that the stop signal does not arrive to the server...
I'll also be glad, if somebody has some more clues to fix this.
回答2:
This is actually quite a common that myself and other developers see. It's nothing to do with the rails version. It happens in all versions. It's just that the server becomes a detached process and can be hard to find.
However I've learned to cope with it pretty well thanks to things I learned:-
Always use the red square to stop the server, not the red X.
If the server hangs, rather than rebooting you can just use the menu option for run... and change the port number, say from 3334 to 3335 (and so on). It sounds bad but it really doesn't hurt and only take 3 seconds...
If necessary you can also keep a terminal window open and run the server from that and just use rubyMine for editing, but then you are missing out on a lot of rubyMine features and also you have to keep both environments working ok.
It may be specific to Ubuntu as that is where I have seen it too.
来源:https://stackoverflow.com/questions/6525488/how-to-stop-kill-server-development-in-rubymine