在 qsub 下重定向我的 java 程序的输出

Redirect output of my java program under qsub

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

我写了两个脚本: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 中存储的消息是 "Your job 730 ("STDIN") 已提交,这不是我想要的。

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

谁能帮帮我?

提前致谢。

问题是 qsub 不会 return 你的作业的输出,它 return 是 qsub 命令本身的输出,它只是通知你的资源管理器/调度程序你想要那份工作运行。

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