ssh cluster-computing jobs

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



cluster-computing jobs (9)

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.

Según 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



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.

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


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!


Para UGE:

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


Simplemente use el siguiente comando:

qdel all

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


Tratar

$ qdel {id1..id2}

Así por ejemplo:

$ qdel {1148613..1148650}


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

De esta forma, también podemos grep en una palabra clave particular para los trabajos y eliminarlos.

HTH


# 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


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

poder de Sed.