Подтвердить что ты не робот

Используйте qdel для удаления всех моих заданий одновременно, а не по одному

Это довольно простой вопрос, но я не смог найти ответ.

У меня есть большое количество заданий, выполняемых в кластере ( > 20), и я хотел бы удалить их все и начать сначала.

В соответствии с этим сайтом я должен просто сделать:

qdel -u netid

чтобы избавиться от всех, но в моем случае, который возвращает:

qdel: invalid option -- 'u'
usage: qdel [{ -a | -c | -p | -t | -W delay | -m message}] [<JOBID>[<JOBID>]|'all'|'ALL']...
   -a -c, -m, -p, -t, and -W are mutually exclusive

который, очевидно, указывает, что команда не работает.

Просто, чтобы проверить, я сделал:

qstat -u <username>

и я получаю список всех моих заданий, но:

qdel -u <username>

также не работает.

4b9b3361

Ответ 2

Опираясь на то, что Габриэль ответил:

qselect -u <username> | xargs qdel

qselect -u <username> -s <state> | xargs qdel

<state> будет R для запущенных заданий.

qselect позволит вам выбрать работу на основе других критериев, таких как запрашиваемые ресурсы (-l), очередь назначения (-q)...

qdel -u <username>

будет работать только с SGE

Ответ 3

иногда может помочь простой grep/cut: qstat | grep $USER | cut -d. -f1 | xargs qdel

Таким образом, мы можем также grep указать конкретное ключевое слово для заданий и удалить их.

НТН

Ответ 4

# Delete all jobs owned by the current user.
# 
# Command breakdown:
# ------------------
#
# qselect
# -u selects all jobs that belong to the current user
# -s EHQRTW selects all job states except for Complete
#
# xargs
# --no-run-if-empty Do not run qdel if the result set is empty
#                   to avoid triggering a usage error.
#
# qdel
# -a delete jobs asynchronously
#
# The backslashes are a trick to avoid matching any shell aliases.

\qselect -u $(whoami) -s EHQRTW | \xargs --no-run-if-empty \qdel -a

Ответ 5

Другая возможность - сделать qdel all. Он удаляет все задания у всех. Когда у вас нет доступа для работы с другими людьми, он удаляет только ваши задания.

Это не самое красивое решение, но оно, безусловно, самое короткое!

Ответ 6

Попробуйте

$ qdel {id1..id2}

Итак, например:

$ qdel {1148613..1148650}

Ответ 7

Для UGE:

qstat -u | gawk '{print $ 1}' | xargs qdel

Ответ 8

qstat | cut -d. -f1 | sed "s;   \(.*\) 0;qdel \1;" | bash

сила sed.

Ответ 9

Просто используйте следующую команду:

qdel all           

Отменит все задания, выполняемые в кластере.