Skip to main content

控制作业

常用控制命令

|---|---|

| |


#查





#查

#查

#终

#设

#设#仅能对自己的作业进行排序
命令|功能|
bjobs|查看自己已提交或正在运行但尚未结束的作业|

bjobs #查看自己已提交或正在运行但尚未结束的作业 bjob -l JOBID 看某个已提交或正在运行未结束作业的详情
bhist查看自己已结束详细信息 bhist #查看已完成历史作业
bhist -l JOBID 某个完成结束历史作业的详细信息
bpeek JOBID 看正在运行某个作业的标准输出stdout/stderr
bkill JOBID 某个作业
btop JOBID 置作业最先运行
bbot JOBID 置作业最后运行

作业依赖

一个计算任务可能分成几步,而每一步对资源的需求不同,因此需要分开提交,但这些作业之间又具有依赖关系,bsub 可使用选项 -w 'dependency_expression'指定依赖关系。如果计算任务分成几步,但是每步对资源需求一样,那么请写在一个作业任务中依次执行。

  • -w 'done(job_ID | "job_name")':需要 job_ID 或 job_name 作业完成且状态为 DONE,即退出码为0
  • -w 'ended(job_ID | "job_name")':需要 job_ID 或 job_name 作业完成或退出,状态为 EXIT 或 DONE
  • 支持逻辑表达式&& (AND)、|| (OR)、! (NOT)
  • 孤儿作业(即依赖条件不可能满足的)1分钟后会被自动终止

更多详细信息见官方文档

作业等待

bwait -w "wait_condition" [-t timeout]

暂停并等待作业条件满足,不满足一直暂停等待,满足则执行完毕返回。

典型用法:在脚本中不要循环使用bjobs判断作业状态,而用bwait等待作业运行完成,这样更优雅且能显著降低对集群的压力。

  • -w wait_condition:要满足的等待条件,此表达式与上述bsub -w选项的格式相同。
  • -t timeout:等待条件的超时,范围为1-525600分钟,默认为一年。