在 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 程序的输出的主要内容,如果未能解决你的问题,请参考以下文章
了解服务器/客户端路由:亚马逊(?)如何在没有重定向(或历史条目)的情况下重定向我的 SPA?