加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Signal Handling--ref

发布时间:2021-01-25 08:01:09 所属栏目:Linux 来源:网络整理
导读:signal is a software interrupt delivered to a process. The operating system uses signals to report exceptional situations to an executing program. Some signals report errors such as references to invalid memory addresses; others report asy

The followingerrnoerror condition is defined for this function:

EINVAL
Thesignumargument doesn't specify a valid signal.

sigprocmaskfunction is in`signal.h'.

intsigprocmask(inthow,const sigset_t *set,sigset_t *oldset)
Thesigprocmaskfunction is used to examine or change the calling process's signal mask. Thehowargument determines how the signal mask is changed,and must be one of the following values:
SIG_BLOCK
Block the signals inset---add them to the existing mask. In other words,the new mask is the union of the existing mask andset.
SIG_UNBLOCK
Unblock the signals inset---remove them from the existing mask.
SIG_SETMASK
Usesetfor the mask; ignore the previous value of the mask.

The last argument,oldset,is used to return information about the old process signal mask. If you just want to change the mask without looking at it,pass a null pointer as theoldsetargument. Similarly,if you want to know what's in the mask without changing it,pass a null pointer forset(in this case thehowargument is not significant). Theoldsetargument is often used to remember the previous signal mask in order to restore it later. (Since the signal mask is inherited overforkandexeccalls,you can't predict what its contents are when your program starts running.)

If invokingsigprocmaskcauses any pending signals to be unblocked,at least one of those signals is delivered to the process beforesigprocmaskreturns. The order in which pending signals are delivered is not specified,but you can control the order explicitly by making multiplesigprocmaskcalls to unblock various signals one at a time.

Thesigprocmaskfunction returns0if successful,and-1to indicate an error. The followingerrnoerror conditions are defined for this function:

EINVAL
Thehowargument is invalid.

You can't block theSIGKILLandSIGSTOPsignals,but if the signal set includes these,sigprocmaskjust ignores them instead of returning an error status.

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读