Slurm:如何通过脚本使用 jobName 仅获取 jobID

Slurm: How to obtain only jobID using jobName through a script

如果我知道我拥有的工作的名称 运行,我怎么能通过脚本 return 只有它的工作 ID。

比如运行ning sacct --name run.sh returns下面的输出,这里我只想return 50 (jobID) .

$ sacct --name run.sh
       JobID    JobName  Partition    Account  AllocCPUS      State ExitCode
------------ ---------- ---------- ---------- ---------- ---------- --------
50               run.sh      debug      alper          1  COMPLETED      0:0
50.batch          batch                 alper          1  COMPLETED      0:0

作为解决方案,我可以 运行: sacct --name run.sh | head -n3 | tail -n1 | awk '{print }' 即 returns 50,但有时 5050.batch 的顺序会改变对于其他工作。

使用以下选项组合:

sacct -n -X --format jobid --name run.sh 

哪里

  • -n 将抑制 header
  • -X 将抑制 .batch 部分
  • --format jobid 只会显示 jobid 列

这将只输出jobid,但如果有多个作业对应给定的作业名称,您将得到多个结果。