我如何获得 slurm 工作 ID?

mor*_*hts 4 python linux bash slurm sbatch

#!/bin/bash
#SBATCH -N 1      # nodes requested
#SBATCH -n 1      # tasks requested
#SBATCH -c 4      # cores requested
#SBATCH --mem=10  # memory in Mb
#SBATCH -o outfile  # send stdout to outfile
#SBATCH -e errfile  # send stderr to errfile
#SBATCH -t 0:01:00  # time requested in hour:minute:second

module load anaconda
python hello.py jobid
Run Code Online (Sandbox Code Playgroud)

假设我有这段代码,我想将 jobid 发送到 python,你如何获取 job id,所以当我这样做时

sbatch script.sh
Submitted batch job 10514
Run Code Online (Sandbox Code Playgroud)

如何获取数字 10514 并将其传递给 python?

lin*_*k89 10

您可以从环境变量中读取它,slurm 将为批处理脚本设置 SLURM_JOB_ID。

module load anaconda
python hello.py $SLURM_JOB_ID
Run Code Online (Sandbox Code Playgroud)

对于批处理脚本中可用的所有环境变量,您可以在这里找到它们:输出环境变量