如何从qsub获取作业ID

时间:2014-04-06 11:56:33

标签: cluster-computing pbs qsub

我正在使用群集。我将使用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'

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:6)

您可以使用-terse

$ echo sleep 5 | qsub -terse
3543