Expand description
信号相关的系统调用实现
Functions§
- kill
- 向任何进程组或进程发送任何信号。 如果 pid 为正数,则向 pid 指定的进程发送信号 sig。 如果 pid 等于 0,则向调用进程所在进程组中的每个进程发送信号 sig。 如果 pid 等于 -1,则向调用进程有权发送信号的每个进程发送信号 sig,但进程 1(init)除外, 如果 pid 小于 -1,则向进程组 ID 为 -pid 的每个进程发送信号。 如果 sig 为 0,则不发送信号,但仍会执行存在性和权限检查;
- rt_
sigaction - 更改指定信号的处理动作
- rt_
sigpending - 获取当前任务的待处理信号集合, 包括私有和共享的信号集合
- rt_
sigprocmask - 修改当前任务的信号屏蔽字
- rt_
sigreturn - 撤销之前为了调用信号处理程序而进行的所有操作 利用先前保存在用户空间栈上的信息, 恢复进程的信号掩码,切换栈,并恢复进程的上下文(处理器标志和寄存器, 包括栈指针和指令指针),以便进程从被信号中断的位置恢复执行。
- rt_
sigsuspend - 实现实时信号挂起 它将三个独立的操作封装成一个不可分割的原子操作:
- rt_
sigtimedwait - 实现实时信号等待
- signal_
stack - 设置或获取备用信号处理栈的信息
- tgkill
- 向线程组 tgid 中线程 ID 为 tid 的线程发送信号 sig。
- tkill
- 向线程组 tgid 中线程 ID 为 tid 的线程发送信号 sig. 注意: 如果线程终止且其线程 ID 被回收,则向错误的线程发送信号。避免使用此系统调用。
- wait_
for_ 🔒signal - 在任务中等待指定信号的到来