작업 이름에 단어가 포함된 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
요구 사항에 따라 변경하여 하나 이상의 특정 상태를 다시 대상으로 지정할 수 있습니다.--states=RUNNING,PENDING
*참고: 제가 완전히 테스트하지는 않았습니다.