Pregunta Use qdel para borrar todos mis trabajos a la vez, no de a uno por vez


Esta es una pregunta bastante simple, pero no he podido encontrar una respuesta.

Tengo un gran número de trabajos ejecutándose en un clúster (> 20) y me gustaría eliminarlos todos y comenzar de nuevo.

De acuerdo a este sitio Debería poder hacer lo siguiente:

qdel -u netid

para deshacerse de todos ellos, pero en mi caso eso vuelve:

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

lo que obviamente indica que el comando no funciona.

Solo para verificar, lo hice:

qstat -u <username>

y obtengo una lista de todos mis trabajos, pero:

qdel -u <username>

también falla


33
2018-03-04 15:07


origen


Respuestas:


Encontré la respuesta enterrada en un antiguo hilo de supercluster.org:

qselect -u <username> | xargs qdel

Funcionó sin problemas.


51
2018-03-04 15:18



No puedo comentar, pero basándome en lo que Gabriel respondió:

qselect -u <username> | xargs qdel

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

<state> sería R para ejecutar trabajos solamente.

qselect le permitirá seleccionar un trabajo basado en otros criterios, como recursos solicitados (-l), cola de destino (-q) ...

qdel -u <username>

solo funcionará con SGE


28
2017-09-14 12:05



a veces un simple grep/cut puede ayudar también: qstat | grep $USER | cut -d. -f1 | xargs qdel

De esta manera también podemos grep en una palabra clave particular para los trabajos y elimínelos.

HTH


9
2018-04-21 01:17



Otra posibilidad es hacer qdel all. Elimina todos los trabajos de todos. Cuando no tiene acceso para el trabajo de otras personas, solo elimina sus trabajos.

No es la solución más hermosa, ¡pero sin duda es la más corta!


2
2018-04-14 15:21



# 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

2
2017-10-17 17:37



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

poder de Sed.


0
2018-06-13 08:24



Tratar

$ qdel {id1..id2}

Así por ejemplo:

$ qdel {1148613..1148650}

0
2017-12-14 15:35



Para UGE:

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


0
2018-06-29 13:35



Simplemente use el siguiente comando:

qdel all           

Cancelará todos los trabajos que se ejecutan en el clúster.


-1
2018-02-27 04:14