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

Posted

技术标签:

【中文标题】在 qsub 下重定向我的 java 程序的输出【英文标题】:Redirect output of my java program under qsub 【发布时间】:2016-12-13 23:04:51 【问题描述】:

我目前正在使用 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”) 已提交”,这不是我想要的。

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

谁能帮帮我?

提前致谢。

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于在 qsub 下重定向我的 java 程序的输出的主要内容,如果未能解决你的问题,请参考以下文章