С SLURM я запускаю команду
squeue -u enter_username
и получаю вывод таблицы со следующим заголовком
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
Я пытаюсь определить продолжительность времени выполнения заданиябежал за. Я не смог найти переменную окружения, предоставленную SLURM, чтобы записать это время, поэтому я думаю, что мне осталось проанализировать вывод squeue
. Это не так просто, как я думал, потому что настенные часы не имеют фиксированного формата. Другими словами, он не всегда показывает дд-чч: мм: сс. Если дней нет, то вывод будет просто ЧЧ: ММ: СС, а если часов нет, то вывод: ММ: СС и т. Д.
Я делаю это с помощью bash, и мне нужно захватитьдень (дд) и час (чч) и присвойте каждому из них переменную. Мне трудно делать это, когда формат динамический.
Чтобы зафиксировать ввод времени, я просто делаю следующее (в сценарии bash SLURM)
time_str=$(squeue -u enter_username | grep "$SLURM_JOB_ID" | cut -d "R" -f2- | gawk '{print $1}')
Как я уже говорил, time_str
не имеет фиксированного формата. Надеюсь, кто-то с опытом может помочь.