Ich habe viele SLURM-Jobskripte mit Debug-Zeitlimit gesendet (ich habe vergessen, die Zeit für die tatsächliche Ausführung zu ändern). Jetzt werden sie alle gleichzeitig übermittelt, sodass sie alle mit der Job-ID 197xxxxx beginnen. Jetzt kann ich tun
squeue -u $USER | grep 197 | awk '{print $1}'
, um die Job-IDs zu drucken, die ich löschen möchte. Aber wie verwende ich den Scancel-Befehl für all diese IDs? Die Ausgabe des obigen Shell-Befehls würde wie folgt aussehen
19726664
19726663
19726662
19726661
19726660
19726659
19726658
19726657
19726656
19726655
19726654
19726653
19726652
19726651
19726650
Akzeptierte Antwort:
squeue -u $USER | grep 197 | awk '{print $1}' | xargs -n 1 scancel
Sehen Sie in der Dokumentation nach xargs
für Details. Wenn scancel
mehrere Job-IDs akzeptiert (sollte), können Sie -n 1
weglassen Teil.