如何从qsub获取作业ID

sfl*_*lee 7 cluster-computing qsub pbs

我正在使用群集.我将使用qsub命令来分配我的工作,我想要的是我可以取回工作ID,以便我可以监控工作.

基本上,我想要这样的事情:

#!/bin/bash
JOBID=$( qsub job1 )
# Monitoring base on $JOBID
Run Code Online (Sandbox Code Playgroud)

我找到了一个页面http://wiki.ibest.uidaho.edu/index.php/Tutorial:_Submitting_a_job_using_qsub,它讨论了一个变量,PBS_JOBID但我不知道如何使用它.有谁知道怎么做?

(我现在的解决方案是jobID='qsub task | cut -d ' ' -f 3')

Der*_*rek 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)}'`
Run Code Online (Sandbox Code Playgroud)

(来源)

此代码已在生产中使用多年,并已qsub在PBS,PBS Pro和SLURM中使用.


ser*_*ror 7

你可以使用-terse:

$ echo sleep 5 | qsub -terse
3543
Run Code Online (Sandbox Code Playgroud)