SLEEP(1)

명칭
sleep - 일정한 시간 실행을 정지한다

서식
sleep seconds

해설
sleep 명령은, 적어도 seconds 그리고 지정한 초수만큼 실행을 정지합니다.

sleep 명령이 시그널을 수신하면(자) 표준의 동작을 실시합니다.

실장에 관한 주
이 실장에 대해서는, SIGALRM 시그널은 특별히는 다루어지지 않습니다.

sleep 명령은, 비정수의 수치로 지정된 초수를 받아들여, 이것을 존중합니다. (소수점으로서 ‘.’ 캐릭터를 사용합니다). 이것은 휴대용이 아닌 확장입니다. 이것을 사용하는 셸 스크립트는, 다른 시스템으로 올바르게 실행할 수 없는 것을, 거의 프로텍션할 수 있습니다.

진단
sleep 명령은 종료시에 이하의 값의 어느쪽이든을 돌려줍니다.

0   정상 종료했을 경우.

>0  에러가 일어났을 경우.

사용예
어느 명령의 실행을 x 초 후에 설정하고 싶은 경우:

    (sleep 1800; sh command_file >& errors)&

상기의 예에서는, command_file 로 지정한 스크립트를 실행하기 전에 30 분간 기다립니다( at(1) 유틸리티의 항을 참조).

어느 명령을( csh(1) (을)를 사용해) 반복 실행하고 싶은 경우:

    while (1)
    	if (!  -r zzz.rawdata) then
    		sleep 300
    	else
    		foreach i (`ls *.rawdata`)
    			sleep 70
    			awk -f collapse_data $i >> results
    		end
    		break
    	endif
    end

이러한 스크립트가 필요하게 되는 것은 이하와 같은 경우지요: 현재 실행중의 프로그램이, 일련의 파일군을 처리하는데 예상 이상의 시간을 필요로 하고 있어, 이 프로그램이 처리 결과를 파일 (zzz.rawdata)에 출력하자 마자 다른 프로그램을 기동해 그 파일을 처리하는 편이 좋은 경우가 있습니다. 상기의 스크립트에서는, zzz.rawdata 가 생성되었는지 어떠했는지를 5 분 간격으로 확인해, 생성이 확인되면(자) 70 초 기다려 awk 작업을 실행한다, 라고 하는 조작을 반복합니다.

관련 항목
nanosleep(2), sleep(3)

표준
sleep 명령은, 아마 p1003.2 호환입니다.