2014-04-06 58 views
4

我正在使用集羣。我將使用qsub命令分發我的作業,我想要的是我可以找回作業ID,以便我可以監控作業。如何從qsub獲取作業ID

基本上,我想有些事情是這樣的:

#!/bin/bash 
JOBID=$(qsub job1) 
# Monitoring base on $JOBID 

我發現了一個網頁http://wiki.ibest.uidaho.edu/index.php/Tutorial:_Submitting_a_job_using_qsub,並談到一個變量PBS_JOBID但我不知道如何使用它。有誰知道該怎麼做?

(我的解決方案現在是jobID='qsub task | cut -d ' ' -f 3'

+1

我相信,有一些使用一個叫做'qsub'命令serveral的不同批次的系統。我已經添加了「pbs」標籤來表明你問的是哪一個。 –

回答

5

qsub有一個非常可預測的輸出。很多自動化的提交系統(如Grid接口)只是簡單地解析qsub的輸出,尋找jobid。

解析示例可從BLAHP項目(歐洲網格中間件)獲得。

jobID=`${pbs_binpath}/qsub $bls_tmp_file` # actual submission 
... 

# The job id is actually the first numbers in the string (slurm support) 
jobID=`echo $jobID | awk 'match($0,/[0-9]+/){print substr($0, RSTART, RLENGTH)}'` 

source

此代碼已在生產中使用了很多年,並且已經在這兩個PBS,PBS Pro和SLURM工作了qsub

+0

它的作品謝謝你 – sflee

3

可以使用-terse

$ echo sleep 5 | qsub -terse 
3543