1. 程式人生 > >sigaction函式捕捉訊號

sigaction函式捕捉訊號

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

void do_sig(int num)
{
	printf("I am do_sig\n");
	printf("num = %d\n", num);
}


int main(void)
{
	struct sigaction act;
	act.sa_handle = do_sig;
	//act.sa_handle = SIG_DEF;//預設動作
	//act.sa_handle = SIG_IGN;//忽略
	sigemptyset(&act.sa_mask);//設定BLOCK阻塞訊號集為0,為未阻塞
	//sigaddset(&act.sa_mask, SIGQUIT);//遮蔽其他訊號遮蔽字,置為1
	act.sa_flags =0;

	sigaction(SIGINT, &act, NULL);

	while(1){
		printf("*******\n");
		sleep(1);
	}
	return 0;
}