Running Webrick server in background?
MBPro:shovell myname$ ruby script/server
=> Booting WEBrick
=> Rails 2.3.8 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2010-08-01 15:28:35] INFO WEBrick 1.3.1
[2010-08-01 15:28:35] INFO ruby 开发者_C百科1.9.1 (2010-07-02) [i386-darwin10.4.0]
[2010-08-01 15:28:35] INFO WEBrick::HTTPServer#start: pid=36349 port=3000
After this command, I have to keep the terminal open, can't even get out using Cmd+z. Can't I run it as a background service?
Thanks
The Output is already giving you the answer:
=> Call with -d to detach
In general, you can use:
command &
And it will detach from the terminal window.
If you are using Linux, another options is to use screen
:
screen
# start your process
# press Ctrl+a
# press Ctrl+d
Voila! It's detached. Then you can call screen -r
and your process will be back as if nothing happened.
If you run rails s --help
You will see a bunch of options
Usage: rails server [mongrel, thin etc] [options]
-p, --port=port Runs Rails on the specified port.
Default: 3000
-b, --binding=IP Binds Rails to the specified IP.
Default: localhost
-c, --config=file Uses a custom rackup configuration.
-d, --daemon Runs server as a Daemon.
-u, --debugger Enables the debugger.
-e, --environment=name Specifies the environment to run this server under (test/development/production).
Default: development
-P, --pid=pid Specifies the PID file.
Default: tmp/pids/server.pid
-h, --help Shows this help message.
The one that you need is to run it as a Daemon. Hence, the solution is:
rails s -d
The mongrel gem can do this easy.
gem install mongrel
Then you should be able to use
mongrel_rails start -d
-d
for daemon mode.
精彩评论