将Rserve作为服务运行

时间:2015-08-18 22:38:13

标签: r

我目前正在开发一个使用R进行非常复杂的计算的项目,它设置为由ASP.NET Web应用程序调用。它使用RServe作为R的接口,也需要使用ROracle和DBI库。

现在问题是每次服务器重新启动时,我都必须登录服务器手动启动Rserve命令,问题是:每次服务器重启时有没有办法自动运行RServe。我在Windows上运行它。

非常感谢。

1 个答案:

答案 0 :(得分:0)

正如Rserve的公共文档所述,您可以从shell脚本启动Rserve。

只需创建一个执行以下命令的脚本:

echo 'library(Rserve);Rserve(FALSE,args="--no-save --slave --RS-conf <your_own_path>/rserve.conf")'|<R_bin_path>/R --no-save --slave

例如,在我的MacOS计算机中,我可以启动Rserve执行此行:

/bin/sh -c "echo 'library(Rserve);Rserve(FALSE,args=\"--slave\")'|/Library/Frameworks/R.framework/Versions/3.2/Resources/bin/exec/R --no-save --slave"

此命令输出如下内容:

Starting Rserve:
  /Library/Frameworks/R.framework/Resources/bin/R CMD /Library/Frameworks/R.framework/Versions/3.2/Resources/library/Rserve/libs//Rserve --slave 

Rserv started in daemon mode.

您可以创建一个shell脚本(或Windows脚本),并告诉操作系统在启动过程中执行此脚本。