在后台运行Webrick服务器?

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 1.9.1 (2010-07-02) [i386-darwin10.4.0] [2010-08-01 15:28:35] INFO WEBrick::HTTPServer#start: pid=36349 port=3000 

在这个命令之后,我必须保持终端打开,甚至不能使用Cmd + z。 我不能把它作为后台服务运行吗?

谢谢

输出已经给你答案:

 => Call with -d to detach 

一般来说,你可以使用:

 command & 

它将从终端窗口分离。

如果您使用的是Linux,则另一个选项是使用screen

 screen # start your process # press Ctrl+a # press Ctrl+d 

瞧! 它是超然的。 然后你可以调用screen -r ,你的进程就会回来,好像什么都没发生一样。

如果你运行rails s --help你会看到一堆选项

 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. 

您需要的是将其作为守护进程运行。 因此,解决方案是: rails s -d

杂种gem可以很容易地做到这一点。

 gem install mongrel 

然后你应该可以使用

 mongrel_rails start -d 

-d用于守护进程模式。