1

我目前正在使用 qsub 运行多个 Java 可执行程序。

我写了两个脚本:1)qsub.sh,2)run.sh

qsub.sh

#! /bin/bash
echo cd `pwd` \; "$@" | qsub

运行.sh

#! /bin/bash
for param in 1 2 3
do
./qsub.sh java -jar myProgram.jar -param ${param}
done

鉴于上面的两个脚本,我提交作业

sh run.sh

我想重定向 myProgram.jar -param ${param} 生成的消息

所以在run.sh中,我用以下内容替换了第 4 行

./qsub.sh java -jar myProgram.jar -param ${param} > output-${param}.txt

但是 output.txt 中存储的消息是"Your job 730 ("STDIN") has been submitted",这不是我想要的。

我知道qsub有一个选项-o用于指定输出的位置,但我不知道如何在我的情况下使用这个选项。

谁能帮我?

提前致谢。

4

1 回答 1

1

问题是 qsub 不返回您的作业的输出,它返回 qsub 命令本身的输出,这只是通知您的资源管理器/调度程序您希望该作业运行。

您想使用 qsub -o 选项,但您需要记住,在作业运行完成之前输出不会出现在那里。对于 Torque,您可以使用 qstat 检查作业的状态,所有其他资源管理器/调度程序都有类似的命令。

于 2016-08-09T23:07:20.143 回答