perl에서 timer 걸기

illuza의 이미지

안녕하세요.

perl에서 몇 초 단위로 타이머를 어떻게 걸어줄 수 있는지 궁금합니다.

구글에서 찾아본 결과 Time::HiRes 모듈을 사용하면 되는거 같은데 아래의

프로그램은 타이머가 걸리기도 전에 프로그램이 그냥 종료되어 버립니다.

어떻게 하면 좋겠습니까?

use Time::HiRes qw ( setitimer ITIMER_VIRTUAL time );

$SIG{VTLARM} = sub { print time, "\n" };
setitimer(ITIMER_VIRTUAL, 10, 2.5);
cjh의 이미지

VTLARM -> VTALRM 이 맞고요...
ITIMER_VIRTUAL은 process time으로 세는데 그러면 실제 시간하고는 거리가 멉니다. 스케줄러에서 해당 프로세스에 할당된 시간만 세기 때문에... ITIMER_REAL 을 사용하세요.

--
익스펙토 페트로눔