Как увидеть очередь текущего пользователя в SLURM

В кластере, управляемом SLURM, я хочу проверить очередь текущего пользователя (и кластера). Обычно я использую эту команду:

squeue --user=username --clusters=clustername

Проблема с этим, помимо того факта, что это довольно длинная команда для частого использования, заключается в том, что ей требуется имя пользователя. Я создал сценарий, в котором в какой-то момент я хочу проверить очередь пользователя, но сначала мне нужно получить имя пользователя.

У меня есть обходной путь для всего этого, но было бы здорово, если бы я мог использовать команду, подобную соответствующей для LoadLeveller:

llu

Есть что-нибудь подобное? Или можно как-то указать "текущего пользователя" во флаге --user?


person MakisH    schedule 02.02.2016    source источник


Ответы (2)


Вы можете использовать псевдоним в файле / etc / bashrc (или ~ / .bashrc для некоторых пользователей):

alias llu="squeue --user=$USER --clusters=clustername"

ИЗМЕНИТЬ

Вы также можете использовать этот псевдоним, который не зависит от переменной среды:

alias llu="squeue --user=`whoami` --clusters=clustername" 

or

alias llu="squeue --user=`logname` --clusters=clustername" 
person jyvet    schedule 02.02.2016
comment
Я не подумал об использовании переменной $ USER, спасибо! Насколько это портативно? Используют ли ту же переменную и оболочки, отличные от bash? - person MakisH; 03.02.2016
comment
Если вас беспокоит переносимость. вы можете использовать команду вместо переменной среды (я внес некоторые изменения в свой ответ). - person jyvet; 04.02.2016

Вы можете просто использовать squeue -u $LOGNAME. Если вы хотите запросить задания в текущем кластере, это должно быть поведение по умолчанию без добавления параметра --clusters, так что таким образом команда squeue становится проще.

Согласно этому ответу https://unix.stackexchange.com/a/76369, $ LOGNAME всегда следует определять в среда, поэтому он должен быть полностью переносимым.

person Carles Fenoy    schedule 03.02.2016