Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R qsub内部系统2功能_R_Qsub - Fatal编程技术网

R qsub内部系统2功能

R qsub内部系统2功能,r,qsub,R,Qsub,我想通过R system2()运行qsub作业。sh脚本本身需要一些参数,我不知道如何传递它们。 我做了以下操作,但似乎什么也没发生-作业已提交给qsub,但它已消失,我无法从脚本的输出中获得结果 arg1、arg2、arg3是script.sh所需的命令行参数 arg1<-"first" arg2<-"second" arg3<-"third" system2("qsub", stdout="log.out", stderr="log.err", arg

我想通过R system2()运行qsub作业。sh脚本本身需要一些参数,我不知道如何传递它们。 我做了以下操作,但似乎什么也没发生-作业已提交给qsub,但它已消失,我无法从脚本的输出中获得结果

arg1、arg2、arg3是script.sh所需的命令行参数

arg1<-"first"
arg2<-"second"
arg3<-"third"

system2("qsub", stdout="log.out", stderr="log.err", 
         args="-cwd -v arg1,arg2,arg3 -o out.txt -e err.txt script.sh")

arg1到
system2
args
参数应该是单独参数的字符向量,而不是由空格分隔的单个字符串。因此,它应该看起来像:

system2("qsub", stdout="log.out", stderr="log.err", 
         args=c("-cwd", "-v", "arg1,arg2,arg3", "-o",
                "out.txt", "-e", "err.txt", "script.sh"))
当给定单个字符串时,它将转义空格,这意味着qsub(或任何命令)不知道它们是单独的参数

或者,如果您希望将参数编写为单个空格分隔的字符串,可以使用
strsplit
将其拆分:

system2("qsub", stdout="log.out", stderr="log.err", 
         args=strsplit("-cwd -v arg1,arg2,arg3 -o out.txt -e err.txt script.sh", " ")[[1]])

我按照你的建议做了,但还是一无所获。甚至out.txt和err.txt都没有创建。@AirelleJab在
log.out
log.err
中是否有任何内容?另外,为了防止
-cwd
不起作用,请在日志中检查您的主目录中的这些文件。此时会显示一条消息,说明作业已提交“您的作业11(“script.sh”)已提交”。Log.err是空的,我已经检查了my/home,但是那里没有什么新的内容。如果您直接在同一目录下执行
qsub-cwd-v arg1、arg2、arg3-o out.txt-e err.txt script.sh会发生什么?它正在工作-它被添加到队列中。我在Shining server中使用它,当用户按下按钮时会触发此脚本,但如果没有qsub(仅运行脚本,在system2中使用sh),它甚至可以在服务器中工作。编辑:但在这种情况下,也不会创建out和err