sigpending -- 2




200x200


检测更改信号屏蔽字 -- sigprocmask 函数调用 sigprocmask 函数可以检测或更改进程的信号屏蔽字int sigprocmask(

#读书笔记    #技术帖    #linux    #unix   
信号的产生、阻塞和递送当引发信号的时间发生时,内核向进程发送一个信号,事件可以是硬件异常(如除以0)、软件条件(如alarm计时器超时)、终端产生的信号或调用kill函数产生的信号信号产生时,内核通常在进程表中设置一个某种形式的标志,这一动作,我们称之为“向进程递送了一个信号”,信号产生和递送之间,称信号是“未决的”进程可以选用信号递送阻塞,如果为进程产生了一个选择为阻塞的信号,而且对该信号的动作是系统默认动作或捕捉该信号,则为该进程将此信号保持未决状态,知道进程对此信号解除阻塞,或将此信号的动作改为忽略需要注意的是,内核是在递送信号的时候决定信号的动作的,而不是在信号产生时,因此进程可以在信号递送给他之前改变信号的动作通过调用 sigpending 函数可以判定哪些信号被设置为阻塞并处于未决状态在进程解除对某个信号的阻塞之前,大多数UNIX实现不允许系统递送该信号多次,相同信号只会递送一次信号屏蔽字每个进程都有一个信号屏蔽字,规定了当前要阻塞递送到进程的信号集,每种可能的信号,该屏蔽字中都有一位与之对应,进程可以调用 sigprocmask 函数来检测和更改其当前信号屏蔽字 
#读书笔记    #技术帖    #linux    #unix   



京ICP备15018585号