alarm 함수

조회수 432회

질문이 있습니다. 원하는 값은 5초간 매초 running...이 작성이 되는 것인데 이렇게 코드를 작성을 하고 이름이 alarm.c일 경우 ./alarm 5를 하면 *argv[1]값에 5가 들어가고 실행을 시킨다면 메인함수에서 alarm(*argv[1])을 통해 5초 뒤에 signal에 SIGALARM이 실행되어 sig함수로 넘어가서 exit(0)을 통해 종료가 되는것 아닌가요? 왜 실행을 시키면 running이 계속해서 나오고 종료가 안됩니다...

include stdio.h

include stdlib.h

include signal.h

include unistd.h

void sig(int signal)

{

exit(0);

}

int main(int argc, char *argv[])

{

signal(SIGALRM, sig);

alarm(*argv[1]);

while(1){

    printf("running...\n");

    sleep(1);

    }

return 0; }

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)