저는 bash 스크립팅을 처음 접했고 아래 스크립트를 사용하여 작업 제출을 자동화하고 있습니다. 스크립트는 이전 작업이 완료될 때까지 기다렸다가 자동으로 새 작업을 제출합니다.
while true
do
jobstat=$(squeue -u $USER | grep DNAJB6 | wc -l)
if [[ "$jobstat" == '0' ]]; then
sbatch per3_restart.sh
break
fi
done
./script.sh &
로그인 노드에서 실행합니다.
top | grep bash
잠시(아마 하루 정도) 실행한 후의 출력입니다. 그 이후에는 grep
프로세스 ID를 사용해도 표시되지 않습니다.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
26054 vadupa 20 0 140428 3052 836 S 0.3 0.0 0:04.47 bash
그러나 일정 시간이 지나면 오류 메시지나 경고 없이 프로세스가 자동으로 종료됩니다.
내가 뭐 놓친 거 없니? 알려주세요. 감사합니다.
편집하다:
진행 상황을 확인하기 위해 자주 로그아웃했다가 로그인합니다.
출력은 다음과 같습니다bash -x script.sh > /tmp/trace.txt 2>&1 &
+ [[ hxB =~ i ]]
+ export -f module
+ ENV=/hpc/eb/modules-tcl-1.923/init/profile.sh
+ export ENV
+ BASH_ENV=/hpc/eb/modules-tcl-1.923/init/bash
+ export BASH_ENV
+ '[' 4 -ge 3 ']'
+ [[ hxB =~ i ]]
+ MODULESHOME=/hpc/eb/modules-tcl-1.923
+ export MODULESHOME
+ [[ ! :/hpc/sw/hpc/bin:/hpc/sw/hpc/sbin:/usr/lib64/qt-3.3/bin:/hpc/eb/compilerwrappers/compilers:/hpc/eb/compilerwrappers/linkers:/hpc/eb/modules-tcl-1.923/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/ibutils/bin:/home/vadupa/bin: =~ :/hpc/eb/modules-tcl-1\.923/bin: ]]
++ manpath
+ manpath=/hpc/sw/hpc/man:/hpc/sw/hpc/man:/hpc/eb/modules-tcl-1.923/share/man:/usr/local/share/man:/usr/share/man/overrides:/usr/share/man:/opt/ibutils/share/man:/hpc/sw/hpc/man:/hpc/eb/modules-tcl-1.923/share/man:/usr/local/share/man:/usr/share/man/overrides:/usr/share/man:/opt/ibutils/share/man:/usr/share/man
+ [[ ! :/hpc/sw/hpc/man:/hpc/sw/hpc/man:/hpc/eb/modules-tcl-1.923/share/man:/usr/local/share/man:/usr/share/man/overrides:/usr/share/man:/opt/ibutils/share/man:/hpc/sw/hpc/man:/hpc/eb/modules-tcl-1.923/share/man:/usr/local/share/man:/usr/share/man/overrides:/usr/share/man:/opt/ibutils/share/man:/usr/share/man: =~ :/hpc/eb/modules-tcl-1\.923/share/man: ]]
+ '[' /sw/noarch/modulefiles/environment:/hpc/sw/modules/modulefiles/init:/hpc/sw/modules/modulefiles/init-devel = '' ']'
+ '[' compilerwrappers:surfsara = '' ']'
+ '[' -r /hpc/eb/modules-tcl-1.923/init/modulerc -a /sw/noarch/modulefiles/environment:/hpc/sw/modules/modulefiles/init:/hpc/sw/modules/modulefiles/init-devel = '' -a compilerwrappers:surfsara = '' ']'
+ true
++ squeue -u vadupa
++ wc -l
+ jobstat=2
+ [[ 2 == \1 ]]