Shell
從 shell 命令輸出中取消所有 SLURM 作業的最佳方法
我送出了很多帶有調試時間限制的 SLURM 作業腳本(我忘了更改實際執行的時間)。現在它們都是同時送出的,所以它們都以作業 ID 197xxxx 開頭。現在,我可以做到
squeue -u $USER | grep 197 | awk '{print $1}'
列印我要刪除的作業 ID。但是如何在所有這些 ID 上使用 scancel 命令。上述 shell 命令的輸出如下所示
19726664 19726663 19726662 19726661 19726660 19726659 19726658 19726657 19726656 19726655 19726654 19726653 19726652 19726651 19726650
squeue -u $USER | grep 197 | awk '{print $1}' | xargs -n 1 scancel
有關詳細資訊,請查看文件
xargs
。如果scancel
接受多個作業 ID(它應該),您可以省略該-n 1
部分。
為了取消我所有的 slurm 工作(省略 OP’s
grep 197
),我發現我必須修剪包含列標題的 squeue 輸出的第一行:squeue -u $USER | awk '{print $1}' | tail -n+2 | xargs scancel