⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sigtest.c

📁 linux下的进程通讯机制的代码例子。消息队列以及共享内存。
💻 C
字号:
#include<stdio.h>#include<signal.h>#include<stdlib.h>static void sig_quit(int);int main(int argc,char *argv[]){	sigset_t newmask,oldmask,pendmask;	if(signal(SIGQUIT,sig_quit)==SIG_ERR)	{		perror("signal");		exit(EXIT_FAILURE);	}	printf("install signal sig_quit\n");	sigemptyset(&newmask);	sigaddset(&newmask,SIGQUIT);	if(sigprocmask(SIG_BLOCK,&newmask,&oldmask)<0)	{		perror("signal");		exit(EXIT_FAILURE);	}	printf("block SIGQUTE,wait 15 second\n");	sleep(15);	if(sigpending(&pendmask)<0)	{		perror("signal");		exit(EXIT_FAILURE);	}	if(sigismember(&pendmask,SIGQUIT))	printf("\n SIGQUIT pending\n");	if(sigprocmask(SIG_SETMASK,&oldmask,NULL)<0)	{		perror("signal");		exit(EXIT_FAILURE);	}	printf("SIGQUIT unblocked\n");	sleep(15);	return 0;		}static void sig_quit(int signo){	printf("catch the signal,the process will quit\n");	if(signal(SIGQUIT,SIG_DFL)==SIG_ERR)	{		perror("signal");		exit(EXIT_FAILURE);	}}

⌨️ 快捷键说明

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