linux进程间通信方式之信号处理signal
来源:互联网 发布:中国软件重组预期 编辑:程序博客网 时间:2024/05/01 18:35
#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <strings.h>#include <string.h>#include <signal.h>#include <syslog.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>//linux进程间通信方式之信号处理signal//sighandler_t signal(int signum, sighandler_t handler);//signal()会依参数signum 指定的信号编号来设置该信号的处理函数。//即修改系统默认信号的操作//成功则返回值为以前的信号处理函数/* int sigprocmask(int how, const sigset_t *set, sigset_t *oldset); 参数1:SIG_BLOCK:屏蔽集合中信号 SIG_UNBLOCK:解除信号屏蔽*///捕获处理函数void handler(int sig){ if(sig == SIGQUIT){ printf("recv sigquit\n");//接收到sigquit }}int main(void){ //屏蔽信号 sigset_t set; //sigemptyset用来将参数set信号集初始化并清空。 sigemptyset(&set);//int sigemptyset(sigset_t *set); //sigaddset()用来将参数signum 代表的信号加入至参数set 信号集里。 sigaddset(&set,SIGINT);//int sigaddset(sigset_t *set, int signum); sigaddset(&set,SIGQUIT); sigaddset(&set,SIGHUP); sigprocmask(SIG_BLOCK,&set,NULL);//信号屏蔽 //注册信号处理方式 signal(SIGHUP,SIG_DFL); //默认处理 关闭终端 signal(SIGINT,SIG_IGN); //忽略处理 CTRL+C signal(SIGQUIT,handler); //捕获处理 指定函数 sleep(3); //解除屏蔽 sigprocmask(SIG_UNBLOCK,&set,NULL); printf("signal ok\n"); while(1) sleep(1);}/*$ ./a.outsignal ok^\recv sigquit^\recv sigquit^\recv sigquit^C^C^C^C*/
阅读全文
0 0
- linux进程间通信方式之信号处理signal
- Linux进程间通信方式之信号(signal)
- linux进程间通信方式之信号处理sigaction
- linux进程间通信方式之信号处理sigaction
- Linux 进程间通信 --- 信号通信 --- signal
- linux进程间通信之信号(signal)
- Linux进程间通信 - 信号(signal)机制
- 进程间通信之信号signal
- linux 进程通信---信号signal
- Linux进程间通信(五)---信号通信之signal()、信号集函数组及其基础实验
- Linux进程间通信(五)---信号通信之signal()、信号集函数组及其基础实验
- 进程间通信-信号signal
- Linux 下进程间通信机制(三) 信号Signal
- 深入理解Linux进程间通信(IPC)-- 信号signal
- Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)
- Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)
- Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)
- Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)
- MediaRecorder中遇到的坑
- 第五周 【项目2
- 第8周 项目3- 对称矩阵压缩存储的实现与应用(1)
- Leetcode009 Palindrome Number
- C/C++ 第八周串和数组 (一)顺序串算法 项目2—(四)
- linux进程间通信方式之信号处理signal
- SparkML之PCA主成分分析
- ARM嵌入式设备的启动流程分析概述
- 算法复杂度的分析——时间复杂度和空间复杂度
- CSS伪类
- dedecms织梦cms被挂马 /plus/90sec.php 的修复问题
- 一些基本的排序算法(正在修改)
- tomcat中文乱码问题
- 延时加载