void handler(int signo)

{

   printf("SIGINT 수신 \n");
}


int main(void)

{

   int i;

   

   signal(SIGINT, (void *)handler);


   for(i=0;i<10;i++)

   {

       printf("sleep 1 second \n");

       sleep(1);

   }


   return 0;

}


내가 원하는 동작은 ctrl+c를 몇 번 누르든 상관 없이 sleep 1 second 1번 출력되고 1초 쉬고를 반복하는건데


이 코드대로 돌려보면 ctrl+c를 누르고 있으면 sleep 1 second 하고 SIGINT 수신 이 2문장 번갈아가면서 쉴새없이 나오다가 종료됨..


뭐가 문제인지도 모르겠음.. 좀 알려줄 수 있음?