slurm 在 bash 内获取工作 ID

slurm get job id within bash

是否有内置方法可以在 运行 时获取 slurm 作业的 ID?

我可以想象通过解析 squeue 并将 ID 与主机名匹配来确定 ID(例如 socket.gethostname() in python)。有更好的解决方案吗?

作业 ID 分配给 SLURM_JOB_ID 环境变量。所以在 Python 中,你可以用

得到它
import os
print(os.environ["SLURM_JOB_ID"])

注意,虽然job id是整数,但是环境变量是字符串,需要调用int()函数进行转换