RLe*_*ner 5 ssh r igraph ubuntu-15.04
嗨,这是一个我不知道如何框架的问题。
我正在从远程服务器运行 R。我通过 ssh@username 等访问远程服务器。在我访问后,我有一个命令提示符,我调用 R 并且我很乐意在 R 上工作。
问题 1 我有一个大型网络(10 万个节点)并且想要进行社区检测并希望在后台运行它,这样如果我关闭我的终端,它会一直运行直到它完成将结果保存在我的 R 工作目录中。
我曾尝试使用 nohup R & 但我不确定该过程是否成功完成。
问题 2 如果我设法实现了问题 1,我如何继续使用 R 来执行其他任务?和
问题 3 如何检查 Q1 中的任务是否仍在运行。
我对脚本的尝试如下所示
#!/usr/bin/env Rscript
library(igraph)
library(data.table)
edgebetween <- function(x) {
simplify(x, remove.multiple = F, remove.loops = T)
edge.betweenness.community(x, directed = T)
}
community.a.g3 <- edgebetween(a.g3)
Run Code Online (Sandbox Code Playgroud)
我已将脚本保存在我的工作总监中作为 aR
并在更改到我的工作目录后在命令提示符下使用 chmod +x aR nohup ./aR &
我需要纠正什么。谢谢
您想以“批处理”模式执行 R。见(https://stat.ethz.ch/R-manual/R-devel/library/utils/html/BATCH.html)
下面的命令是这些文档中的一个示例。“&”表示“与用户的登录会话分开运行”,因此当您注销时,它会继续运行。
R CMD BATCH [options] infile [outfile] &
Run Code Online (Sandbox Code Playgroud)
您也可以使用此处讨论的 nohup(http://streaming.stat.iastate.edu/wiki/index.php/Running_Jobs_in_the_Background)
nohup R CMD BATCH ./myprog.R &
Run Code Online (Sandbox Code Playgroud)