
ジョブ名に単語を含むSlurmジョブをキャンセルする方法は?たとえば、squeue
端末で何かを行い、現在実行中のすべてのタスクをインポートしたとします。
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
468624 overcap ws_svea_ dyung6 R 12:37:16 1 brainiac
468608 overcap fs_svea_ dyung6 R 13:47:57 1 smith
468118 overcap fs_augcl dyung6 R 1-15:51:38 1 gideon
468119 overcap bc_augcl dyung6 R 1-15:52:38 1 bb8
468120 overcap bc_augcl dyung6 R 1-15:52:38 1 jarvis
468122 overcap bc_augcl dyung6 R 1-15:52:38 1 jarvis
467796 overcap ww_augcl dyung6 R 2:06:08 1 asimo
468609 overcap fs_svea_ dyung6 R 11:58:54 1 gideon
468614 overcap ww_svea_ dyung6 R 11:58:54 1 gideon
468615 overcap cs_svea_ dyung6 R 11:58:54 1 gideon
469031 overcap ws_NNDrQ dyung6 R 2:23:46 1 ig-88
469032 overcap ws_NNDrQ dyung6 R 2:23:45 1 ig-88
augcl
その後、その名前に含まれるすべての操作をキャンセルしたいと思います。可能ですか?
答え1
squeue
タイトルなしで実行中のジョブのリストを取得するために使用されます。これで、grep
選択した文字列を使用してジョブ名を見つけ、awk
ジョブIDを返します。
今すぐ入力してくださいscancel
。
テスト:
squeue --me --states=RUNNING --Format=jobid,name --noheader |
grep augcl |
awk '{print $1}' |
xargs echo scancel
次に、次を実行します。
squeue --me --states=RUNNING --Format=jobid,name --noheader |
grep augcl |
awk '{print $1}' |
xargs scancel
使用可能な状態に関係なく、すべてのタスクをターゲットにするには、--states=ALL
要件に応じて変更して、1つ以上の特定のステータスをターゲットに戻すことができます。--states=RUNNING,PENDING
*注:私は完全にテストしていません。