GNU/Linux >> Tutoriales Linux >  >> Linux

¿La mejor manera de cancelar todos los trabajos de Slurm desde la salida del comando Shell?

Envié muchos scripts de trabajo SLURM con límite de tiempo de depuración (olvidé cambiar el tiempo para la ejecución real). Ahora todos se envían al mismo tiempo, por lo que todos comienzan con el ID de trabajo 197xxxxx. Ahora, puedo hacer

squeue -u $USER | grep 197 | awk '{print $1}' 

para imprimir los ID de trabajo que quiero eliminar. Pero, ¿cómo uso el comando scancel en todas estas identificaciones? La salida del comando de shell anterior se vería como

19726664
19726663
19726662
19726661
19726660
19726659
19726658
19726657
19726656
19726655
19726654
19726653
19726652
19726651
19726650

Respuesta aceptada:

squeue -u $USER | grep 197 | awk '{print $1}' | xargs -n 1 scancel

Consulte la documentación de xargs para detalles. Si scancel acepta múltiples identificaciones de trabajo (debería), puede omitir -n 1 parte.


Linux
  1. Visualización de la lista de todos los trabajos 'at' y sus respectivos comandos

  2. ¿Cómo eliminar las primeras/últimas líneas 'n' de la salida del comando en Shell?

  3. Omitir la primera línea de cualquier salida de comando de Linux

  4. Ejecute un script de shell desde el comando docker-compose, dentro del contenedor

  5. ¿Cómo ejecutar el comando Vim desde el shell?

¿Cómo recuperar un trabajo en segundo plano de un shell anterior?

¿Cuál es la diferencia de obtener salida de comando usando `command` y $(command) en Shell?

¿Cómo establecer una variable igual a la salida de un comando en Grub2?

Guardar la salida de un comando desde la terminal de Debian a un archivo

Eliminación de todas las particiones desde la línea de comandos

¿Ocultar la salida de un comando de shell solo en caso de éxito?