시간 초과 시 루프 반복 건너뛰기

시간 초과 시 루프 반복 건너뛰기

그래서 이런 코드가 있습니다. 두 개의 외부 스크립트를 실행하며 때로는 실행하는 데 너무 오래 걸립니다. 실행을 제한하고 루프 반복마다 시간 초과를 추가하고 싶지만 이를 달성하는 방법을 모르겠습니다.

files=($pathgtp/*.*)

i=0
while [ $i -lt ${#files[*]} ]; do
  f=${files[$i]}
  o=$(basename -- "$f")
  o=${o%.*}
  o=$pathmid/$o.mid
  $PWD/GuitarProToMidi "$f" -o "$o" -f # first script here
  $pythonvenv $pythonscript "$o" # second script here
  rm "$o" # remove temporary file
  ((i++))
done

답변1

timeoutGNU coreutils.from 을 사용할 수 있습니다 man timeout.

이름

timeout- 시간 제한이 있는 명령 실행

요약

 timeout [OPTION] DURATION COMMAND [ARG]...
 timeout [OPTION]

설명하다

시작하고 COMMAND, 여전히 쫓고 있다면 죽여보세요 DURATION.

[...]

관련 정보