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 키를 누르셨죠!!
깨어났지만 바로 종료합니다. 안녕~~
]$
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
C언어 프로세스 자신에게 시그널 전송 함수 raise() (0) | 2020.03.15 |
---|---|
C언어 kill 시그널 전송 함수 kill() (0) | 2020.03.15 |
C언어 시그널 처리 함수 sigaction() (0) | 2020.03.15 |