我目前正在使用qsub运行多个Java可执行程序。
我写了两个脚本:1)qsub.sh,2)run.sh
qsub.sh
#! /bin/bash
echo cd `pwd` \; "$@" | qsub
run.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中的消息是"您的作业730(" STDIN")已经提交了#34; ,这不是我的意图。
我知道 qsub 有一个选项 -o 用于指定输出的位置,但我无法弄清楚如何在我的情况下使用此选项。
任何人都可以帮助我吗?
提前致谢。
答案 0 :(得分:1)
问题是qsub不返回作业的输出,它返回qsub命令本身的输出,这只是通知您的资源管理器/调度程序您希望该作业运行。
您想使用qsub -o选项,但是您需要记住,在作业运行完成之前,输出不会出现。对于Torque,您可以使用qstat检查作业的状态,所有其他资源管理器/调度程序都有类似的命令。