2016-08-08 43 views
1

我目前使用qsub運行多個Java可執行程序。在qsub下重定向我的java程序的輸出

我寫了兩個劇本:1)qsub.sh,2)run.sh文件

qsub.sh

#! /bin/bash 
echo cd `pwd` \; "[email protected]" | qsub 

run.sh

#! /bin/bash 
for param in 1 2 3 
do 
./qsub.sh java -jar myProgram.jar -param ${param} 
done 

鑑於以上兩個腳本,我提交作業

sh run.sh 

我想重定向在run.sh通過myProgram.jar -param $ {} PARAM

所以生成的消息,我替換爲以下

./qsub.sh java -jar myProgram.jar -param ${param} > output-${param}.txt 

但4號線存儲在output.txt中的郵件是「您的工作730(」STDIN「)已提交」,這不是我的意圖。

我知道的qsub具有用於指定輸出的位置的選項-o,但我無法弄清楚如何使用這個選項我的情況。

任何人都可以幫助我嗎?

在此先感謝。

回答

1

問題是qsub不會返回您的作業的輸出,它會返回qsub命令本身的輸出,它只是簡單地通知您的資源管理器/調度程序您希望該作業運行。

您想要使用qsub -o選項,但是您需要記住輸出不會在那裏出現,直到作業運行完成。對於Torque,你可以使用qstat來檢查你的工作狀態,所有其他的資源管理器/調度器都有類似的命令。