본문으로 바로가기
homeimage
  1. Home
  2. 컴퓨터/프로그래밍
  3. C언어 시그널을 수신할 때까지 대기 함수 pause()

C언어 시그널을 수신할 때까지 대기 함수 pause()

· 댓글개 · 바다야크

C함수 시그널을 수신할 때까지 대기 pause()

pause() 함수를 호출하면 시그널을 수신할 때까지 대기 상태로 빠집니다. 어떤 시그널이 발생하기 전까지 대기상태를 유지할 때 유용합니다.

  • 헤더: unistd.h
  • 형태: int pause(void)
  • 인수: -
  • 반환: 항상 -1을 반환하며 errno에는 ERESTARTNOHAND 로 설정됩니다.

C언어 pause() 함수 예제

#include <stdio.h>
#include <signal.h>
#include <unistd.h>

void sigint_handler( int signo)
{
   printf( "Ctrl-C 키를 누르셨죠!!\n");
}

int main( void)
{
   printf( "시그널을 받을 때까지 잠수합니다.\n");

   // CTRL-C로 바로 종료되는 것을 막기 위해
   // SIGINT를 사용자 핸들러로 지정했습니다.

   signal( SIGINT, sigint_handler);
   pause();
   printf( "깨어났지만 바로 종료합니다. 안녕~~\n");
}

C언어 pause() 예제 실행 결과

]$ ./a.out
시그널을 받을 때까지 잠수합니다.
^CCtrl-C 키를 누르셨죠!!
깨어났지만 바로 종료합니다. 안녕~~
]$
SNS 공유하기
💬 댓글 개
최근글
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.