📄 signal.h.html
字号:
</td><td align="left"><p class="tent">File size limit exceeded. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></p></td></tr></table></center><p>The default actions are as follows:</p><dl compact><dt>T</dt><dd>Abnormal termination of the process. The process is terminated with all the consequences of <a href="../functions/_exit.html"><i>_exit</i>()</a> except that the status made available to <a href="../functions/wait.html"><i>wait</i>()</a> and <a href="../functions/waitpid.html"><i>waitpid</i>()</a> indicates abnormaltermination by the specified signal.</dd><dt>A</dt><dd>Abnormal termination of the process.<br><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">Additionally, implementation-defined abnormal termination actions, such as creation of a <b>core</b> file, may occur. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd><dt>I</dt><dd>Ignore the signal.</dd><dt>S</dt><dd>Stop the process.</dd><dt>C</dt><dd>Continue the process, if it is stopped; otherwise, ignore the signal.</dd></dl><br><p><sup>[<a href="javascript:open_code('CX')">CX</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"> Theheader shall provide a declaration of <b>struct sigaction</b>, including at least the following members:</p><pre><tt>void (*sa_handler)(int) </tt> Pointer to a signal-catching function or one of the macros <tt> </tt> SIG_IGN or SIG_DFL. <tt>sigset_t sa_mask </tt> Set of signals to be blocked during execution of the signal <tt> </tt> handling function. <tt>int sa_flags </tt> Special flags. <tt>void (*sa_sigaction)(int, siginfo_t *, void *) </tt> Pointer to a signal-catching function. <tt></tt></pre><img src="../images/opt-end.gif" alt="[Option End]" border="0"> <p><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">The storage occupied by <i>sa_handler</i> and <i>sa_sigaction</i> may overlap, and a conforming application shall not use bothsimultaneously. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></p><p>The following shall be declared as constants:</p><dl compact><dt>SA_NOCLDSTOP</dt><dd><sup>[<a href="javascript:open_code('CX')">CX</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"> Donot generate SIGCHLD when children stop <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"> orstopped children continue. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd><dt>SIG_BLOCK</dt><dd><sup>[<a href="javascript:open_code('CX')">CX</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">The resulting set is the union of the current set and the signal set pointed to by the argument <i>set</i>. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd><dt>SIG_UNBLOCK</dt><dd><sup>[<a href="javascript:open_code('CX')">CX</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">The resulting set is the intersection of the current set and the complement of the signal set pointed to by the argument<i>set</i>. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd><dt>SIG_SETMASK</dt><dd><sup>[<a href="javascript:open_code('CX')">CX</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">The resulting set is the signal set pointed to by the argument <i>set</i>. <img src="../images/opt-end.gif" alt="[Option End]"border="0"></dd><dt>SA_ONSTACK</dt><dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">Causes signal delivery to occur on an alternate stack. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd><dt>SA_RESETHAND</dt><dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">Causes signal dispositions to be set to SIG_DFL on entry to signal handlers. <img src="../images/opt-end.gif" alt="[Option End]"border="0"></dd><dt>SA_RESTART</dt><dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">Causes certain functions to become restartable. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd><dt>SA_SIGINFO</dt><dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">Causes extra information to be passed to signal handlers at the time of receipt of a signal. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd><dt>SA_NOCLDWAIT</dt><dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">Causes implementations not to create zombie processes on child death. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd><dt>SA_NODEFER</dt><dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">Causes signal not to be automatically blocked on entry to signal handler. <img src="../images/opt-end.gif" alt="[Option End]"border="0"></dd><dt>SS_ONSTACK</dt><dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">Process is executing on an alternate signal stack. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd><dt>SS_DISABLE</dt><dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">Alternate signal stack is disabled. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd><dt>MINSIGSTKSZ</dt><dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">Minimum stack size for a signal handler. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd><dt>SIGSTKSZ</dt><dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">Default size in bytes for the alternate signal stack. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd></dl><p><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">The <b>ucontext_t</b> structure shall be defined through <b>typedef</b> as described in <a href="../basedefs/ucontext.h.html"><i><ucontext.h></i></a>.</p><p>The <b>mcontext_t</b> type shall be defined through <b>typedef</b> as described in <a href="../basedefs/ucontext.h.html"><i><ucontext.h></i></a>.</p><p>The <i><signal.h></i> header shall define the <b>stack_t</b> type as a structure that includes at least the followingmembers:</p><pre><tt>void *ss_sp </tt> Stack base or pointer. <tt>size_t ss_size </tt> Stack size. <tt>int ss_flags </tt> Flags. <tt></tt></pre><p>The <i><signal.h></i> header shall define the <b>sigstack</b> structure that includes at least the following members:</p><pre><tt>int ss_onstack </tt> Non-zero when signal stack is in use. <tt>void *ss_sp </tt> Signal stack pointer. <tt></tt></pre><img src="../images/opt-end.gif" alt="[Option End]" border="0"> <p><sup>[<a href="javascript:open_code('CX')">CX</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"> The<i><signal.h></i> header shall define the <b>siginfo_t</b> type as a structure that includes at least the following members:<img src="../images/opt-end.gif" alt="[Option End]" border="0"></p><pre><tt><sup>[<a href="javascript:open_code('CX')">CX</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">int si_signo </tt> Signal number. <tt><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 si_errno </tt> If non-zero, an <i>errno</i> value associated with <tt> </tt> this signal, as defined in <b><errno.h>.</b> <tt><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 si_code </tt> Signal code. <tt><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">pid_t si_pid </tt> Sending process ID. <tt>uid_t si_uid </tt> Real user ID of sending process. <tt>void *si_addr </tt> Address of faulting instruction. <tt>int si_status</tt> Exit value or signal. <tt>long si_band </tt> Band event for SIGPOLL. <tt><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">union sigval si_value </tt> Signal value. <tt><img src="../images/opt-end.gif" alt="[Option End]" border="0"></tt></pre><p>The macros specified in the <b>Code</b> column of the following table are defined for use as values of <i>si_code</i> that are<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"> signal-specific or <img src="../images/opt-end.gif" alt="[Option End]" border="0"> non-signal-specific reasons why the signalwas generated.</p><hr><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>Code</b></p></th><th align="center"><p class="tent"><b>Reason</b></p></th></tr><tr valign="top"><td align="left"><p class="tent"><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]"border="0"> SIGILL</p></td><td align="left"><p class="tent">ILL_ILLOPC</p></td><td align="left"><p class="tent">Illegal opcode.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">ILL_ILLOPN</p></td><td align="left"><p class="tent">Illegal operand.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">ILL_ILLADR</p></td><td align="left"><p class="tent">Illegal addressing mode.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">ILL_ILLTRP</p></td><td align="left"><p class="tent">Illegal trap.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">ILL_PRVOPC</p></td><td align="left"><p class="tent">Privileged opcode.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">ILL_PRVREG</p></td><td align="left"><p class="tent">Privileged register.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">ILL_COPROC</p></td><td align="left"><p class="tent">Coprocessor error.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">ILL_BADSTK</p></td><td align="left"><p class="tent">Internal stack error.</p></td></tr><tr valign="top"><td align="left"><p class="tent">SIGFPE</p></td><td align="left"><p class="tent">FPE_INTDIV</p></td><td align="left"><p class="tent">Integer divide by zero.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">FPE_INTOVF</p></td><td align="left"><p class="tent">Integer overflow.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">FPE_FLTDIV</p></td><td align="left"><p class="tent">Floating-point divide by zero.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">FPE_FLTOVF</p></td><td align="left"><p class="tent">Floating-point overflow.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">FPE_FLTUND</p></td><td align="left"><p class="tent">Floating-point underflow.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">FPE_FLTRES</p></td><td align="left"><p class="tent">Floating-point inexact result.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">FPE_FLTINV</p></td><td align="left"><p class="tent">Invalid floating-point operation.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">FPE_FLTSUB</p></td><td align="left"><p class="tent">Subscript out of range.</p></td></tr><tr valign="top"><td align="left"><p class="tent">SIGSEGV</p></td><td align="left"><p class="tent">SEGV_MAPERR</p></td><td align="left"><p class="tent">Address not mapped to object.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">SEGV_ACCERR</p></td><td align="left"><p class="tent">Invalid permissions for mapped object.</p></td></tr><tr valign="top"><td align="left"><p class="tent">SIGBUS</p></td><td align="left"><p class="tent">BUS_ADRALN</p></td><td align="left"><p class="tent">Invalid address alignment.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">BUS_ADRERR</p></td><td align="left"><p class="tent">Nonexistent physical address.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">BUS_OBJERR</p></td><td align="left"><p class="tent">Object-specific hardware error.</p></td></tr><tr valign="top"><td align="left"><p class="tent">SIGTRAP</p></td><td align="left"><p class="tent">TRAP_BRKPT</p></td><td align="left"><p class="tent">Process breakpoint.</p></td></tr><tr valign="top"><td align="left"><p class="tent"> </p></td><td align="left"><p class="tent">TRAP_TRACE</p></td><td align="left"><p class="tent">Process trace trap.</p></td></tr><tr valign="top"><td align="left"><p class="tent">SIGCHLD</p></td><td align="left"><p class="tent">CLD_EXITED</p></td><td align="left"><p class="tent">Child has exited.</p></td></tr><tr valign="top">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -