linux信号处理 --和信号相关的几个系统调用

本文详细介绍了Linux中的信号处理,包括sigaction函数、信号集操作、进程信号掩码以及被挂起的信号。特别讨论了与网络编程相关的SIGHUP、SIGPIPE和SIGURG信号,如挂起终端时的配置重载、写入已关闭连接的处理以及带外数据的通知机制。
摘要由CSDN通过智能技术生成

一、sigaction函数

      #include <signal.h>

     int sigaction(int sig,const struct sigaction* act,strcut sigaction* oact);

     sig参数指出要捕获的信号类型,act参数指定新的信号处理方式,oact参数则输出信号先前的处理方式(如果不为NULL的话),act和oact都是sigaction结构体类型的指针

   信号集函数

     #include <signal.h>

     int sigemptyset(sigset_t* _set)

     int sigfillset(sigset_t* _set)

     int sigaddset(sigset_t* _set,int signo)

     int sigdelset(sigset_t* _set,int signo)

     int sigismember(const siggset_t* set,int signo)

进程信号掩码

    指定进程的信号掩码,这样这样的信号就不能发送给本进程

    int sigprocmask(int _how,const sigset_t* set,sigset_t* oset);

how参数的类型

SIG_BLOC   新的进程掩码是其当前值和_set指定信号集的并集

SOG_UNBLOCK 新的进程信号掩码是其当前值和~_set信号集的交集,因此_set指定的信号集将不被屏蔽

SIG_SETMASK  直接将进程掩码设置为_set

被挂起的信号

      设置进程信号掩码后,被屏蔽的信号将不能被进程接受,如果给进程发送一个被屏蔽的信号,则操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值