Есть ли способ проверить, сколько рабочих мест у пользователя в очереди?
Я знаю такие команды, как qsub, qstat -a, qstat -an и т. Д.
Но как я могу узнать, сколько заданий в очереди у одного пользователя (не обязательно обязательно выполняется) в любой момент времени?
3 ответа
Я думаю, что вы ищете опцию 'user' в qstat. qstat -u username перечисляет все задания, принадлежащие данному пользователю. Подстановочные знаки могут быть включены с обратной косой чертой: qstat -u \* перечисляет все задания.
Чтобы ответить на ваш конкретный вопрос (общее количество заданий), вы можете использовать wc для подсчета строк, которые выводит qstat:
qstat -u имя пользователя | туалет
Но это даст в два раза больше, чем фактические задания, потому что qstat имеет две строки заголовка. Таким образом, полная команда, которую вы можете захотеть:
expr $ (qstat -u username | wc -l) - 2
Который запрашивает задания по имени пользователя, считает количество строк и вычитает 2.
Количество строк заголовка может отличаться от 2. Другое решение:
qselect -u username | wc -l
qselect
не выдает строки заголовка.
Реальное решениеqstat -u username |grep username |wc -l
таким образом количество строк заголовка не имеет значения.