信号高级特性

#include<signal.h>
int sigqueue(pid_t pid,int sig,const union sigval value);   //将sig指定的实时信号发送给有pid指定的进程
union sigval{
int sival_int;
void *sival_ptr;
};//联合体,所以只能给其中一个赋值

int sigsuspend(const sigset_t *mask);   //  sigsuspend()系统调用将以mask所指向的信号集来替换进程的信号掩码,然后挂起进程的执行,知道捕获到信号,并从信号处理器中返回,一旦处理器返回,sigsuspend()会将进程掩码恢复为调用前的值

int sigwaitinfo(const sigset_t *set,siginfo_t *info);       //同步接受信号
int sigtimedwait(const sigset_t *set,siginfo_t *info,const struct timespec *timeout);   //sigwaitinfo()调用的便提,区别是运行指定等待时限
struct timespec{
time_t tv_sec;
long tv_nsec;
};

#include<sys/signalfd.h>
int signalfd(int fd,const sigset_t *mask,int flags);        //通过文件爱你描述符来获取信号

这里写图片描述

posted on 2017-10-25 18:06  标配的小号  阅读(92)  评论(0编辑  收藏  举报

导航