嗨,这是一个我不知道如何提出的问题。
我正在从远程服务器运行 R。我对远程服务器的访问是通过 ssh@username 等。访问后,我会看到一个命令提示符,我可以调用 R,并且我很乐意在 R 上工作。
问题1
我有一个大型网络(100k 个节点),想要进行社区检测,并希望在后台运行它,这样如果我关闭终端,它就会继续运行,直到完成将结果保存在我的 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)
我已将脚本保存在我的工作导演中作为 a.R
并在更改到我的工作目录后在命令提示符下使用
chmod +x a.R
nohup ./a.R &
我需要纠正什么。谢谢
您想要以“批处理”模式执行 R。看 (https://stat.ethz.ch/R-manual/R-devel/library/utils/html/BATCH.html )
下面的命令是这些文档中的示例。 “&”表示“与用户的登录会话分开运行”,因此当您注销时,它会继续运行。
R CMD BATCH [options] infile [outfile] &
您还可以使用 nohup,如此处讨论的(http://streaming.stat.iastate.edu/wiki/index.php/Running_Jobs_in_the_Background )
nohup R CMD BATCH ./myprog.R &
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)