2016-02-02 2 views
0

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

squeue --user=username --clusters=clustername 

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

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

llu 

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

ответ

2

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

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

EDIT

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

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

или

alias llu="squeue --user=`logname` --clusters=clustername" 
+0

Я не думал использовать переменную $ USER, спасибо! Насколько переносится это? Кроме того, оболочки, отличные от bash, используют одну и ту же переменную? – MakisH

+0

Если вы беспокоитесь о переносимости. вы можете использовать команду вместо переменной окружения (я внес некоторые изменения в свой ответ). – jyvet

2

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

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

Смежные вопросы