signal() 시그널을 받았을 때 종료되지 않고 무시하거나 특정 함수가 실행될 수 있도록 함
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
main()
{
/* SIGINT 시그널 받으면 무시하도록 설정 ctrl + \(sigquit) 시그널을 보내 강제종료가능*/
signal(SIGINT, SIG_IGN);
while (1) {
printf("Hello World\n");
sleep(1); /* 1초 동안 정지 */
}
}
------------------------------------------------------------------------------------------------------
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
void signalHandler(int signo);
main()
{
/* SIGINT 시그널 받으면 signalHandler 실행하도록 설정 */
signal(SIGINT, signalHandler);
while(1) {
printf("Hello World\n");
sleep(1);
}
}
void signalHandler(int signo)
{
printf("Hi! signal %d\n", signo); /* signo는 시그널 번호 */
/* SIGINT 시그널 받으면 시스템에서 기본적으로 설정한 동작을 하도록 설정 */
signal(SIGINT, SIG_DFL);
}
'EMBEDDED > SYSTEM Proc' 카테고리의 다른 글
[Signal] sigaction()함수에 관한 예제 (0) | 2012.07.13 |
---|---|
[Signal] signal(SIGINT, SIG_DEL) 에 관한예제 (0) | 2012.07.13 |
[Signal] sleep()에 관한 예제 (0) | 2012.07.13 |
[Signal] sigpipe()관련 예제 (0) | 2012.07.13 |
[Signal] sigemptyset(), sigaddset(), sigismember() 관련 예제 (0) | 2012.07.13 |