在 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 来检查作业的状态,所有其他资源管理器/调度程序都有类似的命令。
我目前运行多个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 来检查作业的状态,所有其他资源管理器/调度程序都有类似的命令。