在后台运行Webrick服务器?

3zz*_*zzy 14 ruby ruby-on-rails 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
Run Code Online (Sandbox Code Playgroud)

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

谢谢

jig*_*fox 37

输出已经给你答案:

=> Call with -d to detach
Run Code Online (Sandbox Code Playgroud)

  • 我如何停止分离的Rails服务器? (4认同)
  • @ user3383458,你可以用`pkill -f rails`杀死.("-f"并不意味着"强制",而是"搜索**完整的**命令行而不仅仅是进程名称".所以他们将优雅地关闭.)如果你不想狂暴杀人在所有Rails实例中,你可以用`ps -ef |找到所有这些实例 grep rails`并用`kill [pid]`杀死你想要的那些. (2认同)

qua*_*oup 6

一般来说,你可以使用:

command &
Run Code Online (Sandbox Code Playgroud)

它将从终端窗口分离.

如果您使用的是Linux,则可以使用另一种选择screen:

screen
# start your process
# press Ctrl+a
# press Ctrl+d
Run Code Online (Sandbox Code Playgroud)

瞧!它是分离的.然后你可以打电话screen -r,你的过程将会回来,好像什么也没发生.