|
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
#include <stdio.h>
#include <unistd.h>
#define MAX 100
main()
{
char buffer[MAX];
int n;
alarm(10); /* 10초 후에 SIGALRM 시그널을 자신에게 보냄 */
n=read(0, buffer, MAX);
/* SIGALRM 시그널을 받기 전에 실행하면 SIGALRM 시그널 요청은 취소 */
alarm(0);
write(1, buffer, n);
exit(0);
}
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
void signalHandler(int signo);
main()
{
struct sigaction act;
/* 시그널이 오면 signalHandler를 실행하도록 설정 */
act.sa_handler = signalHandler;
/* 모든 시그널은 시그널을 처리하는 동안 블록되도록 설정 */
sigfillset(&act.sa_mask);
act.sa_flags = 0;
/* SIGINT에 대해 act 행동을 하도록 설정 */
sigaction(SIGINT, &act, NULL);
printf("call sigaction\n");
while(1)
sleep(5);
}
void signalHandler(int signo)
{
printf("start handler\n");
sleep(10);
printf("end handler\n");
}
sokoban's Blog is powered by Daum & Tattertools