📄 signal.h.html
字号:
<td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">CLD_KILLED</p></td><td align="left"><p class="tent">Child has terminated abnormally and did not create a <b>core</b> file.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">CLD_DUMPED</p></td><td align="left"><p class="tent">Child has terminated abnormally and created a <b>core</b> file.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">CLD_TRAPPED</p></td><td align="left"><p class="tent">Traced child has trapped.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">CLD_STOPPED</p></td><td align="left"><p class="tent">Child has stopped.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">CLD_CONTINUED</p></td><td align="left"><p class="tent">Stopped child has continued.</p></td></tr><tr valign="top"><td align="left"><p class="tent">SIGPOLL</p></td><td align="left"><p class="tent">POLL_IN</p></td><td align="left"><p class="tent">Data input available.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">POLL_OUT</p></td><td align="left"><p class="tent">Output buffers available.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">POLL_MSG</p></td><td align="left"><p class="tent">Input message available.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">POLL_ERR</p></td><td align="left"><p class="tent">I/O error.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">POLL_PRI</p></td><td align="left"><p class="tent">High priority input available.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">POLL_HUP</p></td><td align="left"><p class="tent">Device disconnected. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></p></td></tr><tr valign="top"><td align="left"><p class="tent"><sup>[<a href="javascript:open_code('CX')">CX</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]"border="0"> Any</p></td><td align="left"><p class="tent">SI_USER</p></td><td align="left"><p class="tent">Signal sent by <i>kill</i>().</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">SI_QUEUE</p></td><td align="left"><p class="tent">Signal sent by the <i>sigqueue</i>().</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">SI_TIMER</p></td><td align="left"><p class="tent">Signal generated by expiration of a timer set by <i>timer_settime</i>().</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">SI_ASYNCIO</p></td><td align="left"><p class="tent">Signal generated by completion of an asynchronous I/O request.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">SI_MESGQ</p></td><td align="left"><p class="tent">Signal generated by arrival of a message on an empty messagequeue. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></p></td></tr></table></center><p><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">Implementations may support additional <i>si_code</i> values not included in this list, may generate values included in this listunder circumstances other than those described in this list, and may contain extensions or limitations that prevent some valuesfrom being generated. Implementations do not generate a different value from the ones described in this list for circumstancesdescribed in this list.</p><p>In addition, the following signal-specific information shall be available:</p><center><table border="1" cellpadding="3" align="center"><tr valign="top"><th align="center"><p class="tent"><b>Signal</b></p></th><th align="center"><p class="tent"><b>Member</b></p></th><th align="center"><p class="tent"><b>Value</b></p></th></tr><tr valign="top"><td align="left"><p class="tent">SIGILL</p></td><td align="left"><p class="tent"><b>void * <i>si_addr</i></b></p></td><td align="left"><p class="tent">Address of faulting instruction.</p></td></tr><tr valign="top"><td align="left"><p class="tent">SIGFPE</p></td><td align="left"><p class="tent"><b> </b></p></td><td align="left"><p class="tent"> </p></td></tr><tr valign="top"><td align="left"><p class="tent">SIGSEGV</p></td><td align="left"><p class="tent"><b>void * <i>si_addr</i></b></p></td><td align="left"><p class="tent">Address of faulting memory reference.</p></td></tr><tr valign="top"><td align="left"><p class="tent">SIGBUS</p></td><td align="left"><p class="tent"><b> </b></p></td><td align="left"><p class="tent"> </p></td></tr><tr valign="top"><td align="left"><p class="tent">SIGCHLD</p></td><td align="left"><p class="tent"><b>pid_t <i>si_pid</i></b></p></td><td align="left"><p class="tent">Child process ID.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent"><b>int <i>si_status</i></b></p></td><td align="left"><p class="tent">Exit value or signal.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent"><b>uid_t <i>si_uid</i></b></p></td><td align="left"><p class="tent">Real user ID of the process that sent the signal.</p></td></tr><tr valign="top"><td align="left"><p class="tent">SIGPOLL</p></td><td align="left"><p class="tent"><b>long <i>si_band</i></b></p></td><td align="left"><p class="tent">Band event for POLL_IN, POLL_OUT, or POLL_MSG.</p></td></tr></table></center><p>For some implementations, the value of <i>si_addr</i> may be inaccurate. <img src="../images/opt-end.gif" alt="[Option End]"border="0"></p><p>The following shall be declared as functions and may also be defined as macros:</p><pre><tt><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">void (*bsd_signal(int, void (*)(int)))(int);<img src="../images/opt-end.gif" alt="[Option End]" border="0"><sup>[<a href="javascript:open_code('CX')">CX</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int kill(pid_t, int);<img src="../images/opt-end.gif" alt="[Option End]" border="0"><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int killpg(pid_t, int);<img src="../images/opt-end.gif" alt="[Option End]" border="0"><sup>[<a href="javascript:open_code('THR')">THR</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int pthread_kill(pthread_t, int);int pthread_sigmask(int, const sigset_t *, sigset_t *);<img src="../images/opt-end.gif" alt="[Option End]" border="0">int raise(int);<sup>[<a href="javascript:open_code('CX')">CX</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int sigaction(int, const struct sigaction *restrict, struct sigaction *restrict);int sigaddset(sigset_t *, int);<img src="../images/opt-end.gif" alt="[Option End]" border="0"><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int sigaltstack(const stack_t *restrict, stack_t *restrict);<img src="../images/opt-end.gif" alt="[Option End]" border="0"><sup>[<a href="javascript:open_code('CX')">CX</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int sigdelset(sigset_t *, int);int sigemptyset(sigset_t *);int sigfillset(sigset_t *);<img src="../images/opt-end.gif" alt="[Option End]" border="0"><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int sighold(int);int sigignore(int);int siginterrupt(int, int);<img src="../images/opt-end.gif" alt="[Option End]" border="0"><sup>[<a href="javascript:open_code('CX')">CX</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int sigismember(const sigset_t *, int);<img src="../images/opt-end.gif" alt="[Option End]" border="0">void (*signal(int, void (*)(int)))(int);<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int sigpause(int);<img src="../images/opt-end.gif" alt="[Option End]" border="0"><sup>[<a href="javascript:open_code('CX')">CX</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int sigpending(sigset_t *);int sigprocmask(int, const sigset_t *restrict, sigset_t *restrict);<img src="../images/opt-end.gif" alt="[Option End]" border="0"><sup>[<a href="javascript:open_code('RTS')">RTS</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int sigqueue(pid_t, int, const union sigval);<img src="../images/opt-end.gif" alt="[Option End]" border="0"><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int sigrelse(int);void (*sigset(int, void (*)(int)))(int);<img src="../images/opt-end.gif" alt="[Option End]" border="0"><sup>[<a href="javascript:open_code('CX')">CX</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int sigsuspend(const sigset_t *);<img src="../images/opt-end.gif" alt="[Option End]" border="0"><sup>[<a href="javascript:open_code('RTS')">RTS</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int sigtimedwait(const sigset_t *restrict, siginfo_t *restrict, const struct timespec *restrict);<img src="../images/opt-end.gif" alt="[Option End]" border="0"><sup>[<a href="javascript:open_code('CX')">CX</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int sigwait(const sigset_t *restrict, int *restrict);<img src="../images/opt-end.gif" alt="[Option End]" border="0"><sup>[<a href="javascript:open_code('RTS')">RTS</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int sigwaitinfo(const sigset_t *restrict, siginfo_t *restrict);<img src="../images/opt-end.gif" alt="[Option End]" border="0"></tt></pre><p><sup>[<a href="javascript:open_code('CX')">CX</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">Inclusion of the <i><signal.h></i> header may make visible all symbols from the <a href="../basedefs/time.h.html"><i><time.h></i></a> header. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></p></blockquote><hr><div class="box"><em>The following sections are informative.</em></div><h4><a name="tag_13_43_04"></a>APPLICATION USAGE</h4><blockquote><p>None.</p></blockquote><h4><a name="tag_13_43_05"></a>RATIONALE</h4><blockquote><p>None.</p></blockquote><h4><a name="tag_13_43_06"></a>FUTURE DIRECTIONS</h4><blockquote><p>None.</p></blockquote><h4><a name="tag_13_43_07"></a>SEE ALSO</h4><blockquote><p><a href="errno.h.html"><i><errno.h></i></a> , <a href="stropts.h.html"><i><stropts.h></i></a> , <a href="sys/types.h.html"><i><sys/types.h></i></a> , <a href="time.h.html"><i><time.h></i></a> , <a href="ucontext.h.html"><i><ucontext.h></i></a> , the System Interfaces volume of IEEE Std 1003.1-2001, <a href="../functions/alarm.html"><i>alarm</i>()</a>, <a href="../functions/bsd_signal.html"><i>bsd_signal</i>()</a>, <a href="../functions/ioctl.html"><i>ioctl</i>()</a>, <a href="../functions/kill.html"><i>kill</i>()</a>, <a href="../functions/killpg.html"><i>killpg</i>()</a>, <a href="../functions/raise.html"><i>raise</i>()</a>, <a href="../functions/sigaction.html"><i>sigaction</i>()</a>, <a href="../functions/sigaddset.html"><i>sigaddset</i>()</a>, <a href="../functions/sigaltstack.html"><i>sigaltstack</i>()</a>, <a href="../functions/sigdelset.html"><i>sigdelset</i>()</a>, <a href="../functions/sigemptyset.html"><i>sigemptyset</i>()</a>, <a href="../functions/sigfillset.html"><i>sigfillset</i>()</a>, <a href="../functions/siginterrupt.html"><i>siginterrupt</i>()</a>, <a href="../functions/sigismember.html"><i>sigismember</i>()</a>, <ahref="../functions/signal.html"><i>signal</i>()</a>, <a href="../functions/sigpending.html"><i>sigpending</i>()</a>, <a href="../functions/sigprocmask.html"><i>sigprocmask</i>()</a>, <a href="../functions/sigqueue.html"><i>sigqueue</i>()</a>, <a href="../functions/sigsuspend.html"><i>sigsuspend</i>()</a>, <a href="../functions/sigwaitinfo.html"><i>sigwaitinfo</i>()</a>, <a href="../functions/wait.html"><i>wait</i>()</a>, <a href="../functions/waitid.html"><i>waitid</i>()</a></p></blockquote><h4><a name="tag_13_43_08"></a>CHANGE HISTORY</h4><blockquote><p>First released in Issue 1.</p></blockquote><h4><a name="tag_13_43_09"></a>Issue 5</h4><blockquote><p>The DESCRIPTION is updated for alignment with the POSIX Realtime Extension and the POSIX Threads Extension.</p><p>The default action for SIGURG is changed from i to iii. The function prototype for <i>sigmask</i>() is removed.</p></blockquote><h4><a name="tag_13_43_10"></a>Issue 6</h4><blockquote><p>The Open Group Corrigendum U035/2 is applied. In the DESCRIPTION, the wording for abnormal termination is clarified.</p><p>The Open Group Corrigendum U028/8 is applied, correcting the prototype for the <a href="../functions/sigset.html"><i>sigset</i>()</a> function.</p><p>The Open Group Corrigendum U026/3 is applied, correcting the type of the <i>sigev_notify_function</i> function member of the<b>sigevent</b> structure.</p><p>The following new requirements on POSIX implementations derive from alignment with the Single UNIX Specification:</p><ul><li><p>The SIGCHLD, SIGCONT, SIGSTOP, SIGTSTP, SIGTTIN, and SIGTTOU signals are now mandated. This is also a FIPS requirement.</p></li><li><p>The <b>pid_t</b> definition is mandated.</p></li></ul><p>The RT markings are changed to RTS to denote that the semantics are part of the Realtime Signals Extension option.</p><p>The <b>restrict</b> keyword is added to the prototypes for <a href="../functions/sigaction.html"><i>sigaction</i>()</a>, <ahref="../functions/sigaltstack.html"><i>sigaltstack</i>()</a>, <a href="../functions/sigprocmask.html"><i>sigprocmask</i>()</a>, <ahref="../functions/sigtimedwait.html"><i>sigtimedwait</i>()</a>, <a href="../functions/sigwait.html"><i>sigwait</i>()</a>, and <ahref="../functions/sigwaitinfo.html"><i>sigwaitinfo</i>()</a>.</p><p>IEEE PASC Interpretation 1003.1 #85 is applied, adding the statement that symbols from <a href="../basedefs/time.h.html"><i><time.h></i></a> may be made visible when <i><signal.h></i> is included.</p><p>Extensions beyond the ISO C standard are marked.</p><p>IEEE Std 1003.1-2001/Cor 1-2002, item XBD/TC1/D6/14 is applied, changing the descriptive text for members of <b>structsigaction</b>.</p><p>IEEE Std 1003.1-2001/Cor 1-2002, item XBD/TC1/D6/15 is applied, correcting the definition of the <i>sa_sigaction</i>member of <b>struct sigaction</b>.</p></blockquote><div class="box"><em>End of informative text.</em></div><hr><hr size="2" noshade><center><font size="2"><!--footer start-->UNIX ® is a registered Trademark of The Open Group.<br>POSIX ® is a registered Trademark of The IEEE.<br>[ <a href="../mindex.html">Main Index</a> | <a href="../basedefs/contents.html">XBD</a> | <a href="../utilities/contents.html">XCU</a> | <a href="../functions/contents.html">XSH</a> | <a href="../xrat/contents.html">XRAT</a>]</font></center><!--footer end--><hr size="2" noshade></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -