Running Webrick server in background?

2020-05-26 07:08发布

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

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

4条回答
甜甜的少女心
2楼-- · 2020-05-26 07:41

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.

查看更多
▲ chillily
3楼-- · 2020-05-26 07:47

The Output is already giving you the answer:

=> Call with -d to detach
查看更多
smile是对你的礼貌
4楼-- · 2020-05-26 07:52

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

查看更多
时光不老,我们不散
5楼-- · 2020-05-26 07:57

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.

查看更多
登录 后发表回答