my_sigaction.c

来自「LINUX C编程实战这本书附带光盘的原代码」· C语言 代码 · 共 32 行

C
32
字号
#include <stdio.h>
#include <unistd.h>
#include <signal.h>

int temp = 0;

/*信号处理函数*/
void handler_sigint(int signo)
{
	printf("recv SIGINT\n");
	sleep(5);
	temp += 1;
	printf("the value of temp is: %d\n", temp);
	printf("in handler_sigint, after sleep\n");
}

int main()
{
	struct sigaction act;
	
	/*赋值act结构*/
	act.sa_handler = handler_sigint;
	act.sa_flags = SA_NOMASK;
	/*安装信号处理函数*/
	sigaction(SIGINT, &act, NULL);
	
	while(1)
		;

	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?