Führen Sie R / Rook beim Start als Webserver aus

Ich habe einen Server mit Rook in R - erstellt.http://cran.r-project.org/web/packages/Rook Code ist wie folgt

#!/usr/bin/Rscript
library(Rook)
s <- Rhttpd$new()
s$add(
  name="pingpong",
  app=Rook::URLMap$new(
    '/ping' = function(env){
      req <- Rook::Request$new(env)
      res <- Rook::Response$new()
      res$write(sprintf('<h1><a href="%s">Pong</a></h1>',req$to_url("/pong")))
      res$finish()
    },
    '/pong' = function(env){
      req <- Rook::Request$new(env)
      res <- Rook::Response$new()
      res$write(sprintf('<h1><a href="%s">Ping</a></h1>',req$to_url("/ping")))
      res$finish()
    },
    '/?' = function(env){
      req <- Rook::Request$new(env)
      res <- Rook::Response$new()
      res$redirect(req$to_url('/pong'))
      res$finish()
    }
  )
)
## Not run:
s$start(port=9000)

$ ./Rook.r
Loading required package: tools
Loading required package: methods
Loading required package: brew
starting httpd help server ... done

Server started on host 127.0.0.1 and port 9000 . App urls are:

    http://127.0.0.1:9000/custom/pingpong
Server started on 127.0.0.1:9000
[1] pingpong http://127.0.0.1:9000/custom/pingpong

Call browse() with an index number or name to run an application.
$ 

Und hier endet der Prozess.

Es läuft gut in der R-Shell, aber dann möchte ich es als Server beim Systemstart ausführen. Sobald der Start aufgerufen wurde, sollte R nicht beendet werden, sondern auf Anforderungen am Port warten. Wie kann ich R überzeugen, einfach zu warten oder zu schlafen, anstatt zu gehen? Ich kann die Warte- oder Schlaffunktion in R verwenden, um einige N Sekunden zu warten, aber das passt nicht perfekt zur Rechnung

Antworten auf die Frage(2)

Ihre Antwort auf die Frage