37、Linux 信号与时间管理全解析

Linux 信号与时间管理全解析

1. 信号处理

1.1 带负载发送信号

在信号处理中,使用 SA_SIGINFO 标志注册的信号处理程序会接收一个 siginfo_t 参数,该结构包含 si_value 字段,可用于传递从信号发生器到信号接收器的可选负载。

POSIX 定义的 sigqueue() 函数允许进程发送带有负载的信号,其原型如下:

#include <signal.h>
int sigqueue (pid_t pid,
              int signo,
              const union sigval value);

sigqueue() kill() 类似,成功时,由 signo 标识的信号会被排队到由 pid 标识的进程或进程组,函数返回 0。信号的负载由 value 给出,它是一个整数和空指针的联合:

union sigval {
        int sival_int;
        void *sival_ptr;
};

调用失败时,函数返回 -1,并将 errno 设置为以下错误之一:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值