대기 시간으로 bash 스크립트를 실행하는 방법 (즉, 각 반복에서 1 초 동안 대기)?


28

이 bash 스크립트가 있습니다.

for (( i = 1 ; i <= 160 ; i++ )); do
  qsub myccomputations"${i}".pbs
done

기본적으로 각 반복 사이에 1 초 지연이 있으면 선호합니다. 반복 할 때마다 프로그램 파일 mycomputation"${i}$.pbs을 코어 노드로 보내서 해결하기 때문입니다. 동기 부여는이 사례에서 의사 난수를 사용하고 RNG (R 's Use R)가 CPU 시간을 시드로 사용한다는 점입니다.

bash에게 어떻게 요청합니까?

for (( i = 1 ; i <= 160 ; i++ )); do
  wait 1 sec    
  qsub myccomputations"${i}".pbs
done

답변:


54

sleep 1Bash에서 간단히 사용하십시오 .

for (( i = 1 ; i <= 160 ; i++ )); do
  sleep 1
  qsub myccomputations"${i}".pbs
done

1 초 미만으로 자고 싶다면 부동 소수점 숫자를 사용할 수 있습니다
shellholic

0

주제가 제안하는 것을 달성하려면 'at'을 사용해야합니다.

만나다

      man at

자세한 내용은.


1
Olli 감사합니다. 사실, 나는 제목을 다시 쓸 것이므로 앞으로의 질문에 대한 질문에 해당합니다.
user2413

at특정 기간 동안 루프를 일시 중단하지 않지만 특정 시간에 실행되도록 프로그램 / 스크립트를 설정합니다.
Soren A
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.