signal

来自cppreference.com
< c‎ | program

在头文件 <signal.h> 中定义
void (*signal( int sig, void (*handler) (int))) (int);
设置错误信号sig处理程序。可以设置的默认处理,使信号处理程序会发生,信号被忽略,或一个用户定义的函数被调用.
原文:
Sets the error handler for signal sig. The signal handler can be set so that default handling will occur, signal is ignored, or an user-defined function is called.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
当信号处理程序设置为一个函数和一个信号出现,它实现定义是否signal(sig, SIG_DFL)都将立即执行的信号处理程序的开始之前。此外,实施可以防止一些实现定义的一组AF信号的信号处理程序运行时发生.
原文:
When signal handler is set to a function and a signal occurs, it is implementation defined whether signal(sig, SIG_DFL) will be executed immediately before the start of signal handler. Also, the implementation can prevent some implementation-defined set af signals from occurring while the signal handler runs.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
如果用户定义的函数返回时,处理SIGFPESIGILLSIGSEGV,其行为是不确定的。在大多数实现中,该程序将终止.
原文:
If the user defined function returns when handling SIGFPE, SIGILL or SIGSEGV, the behavior is undefined. In most implementations the program terminates.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
abortraise的结果,如果信号处理函数被调用的行为是不确定的,如果不遵守下列条件之一的:
原文:
If the signal handler is called as a result of abort or raise, the behavior is undefined if any of the following requirements is not followed:
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
  • 信号处理程序调用raise.
    原文:
    the signal handler calls raise.
    这段文字是通过 Google Translate 自动翻译生成的。
    您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
  • 信号处理程序是指静态存储持续时间的对象,这是不声明为volatile sig_atomic_t.
    原文:
    the signal handler refers to an object of static storage duration which is not declared as volatile sig_atomic_t.
    这段文字是通过 Google Translate 自动翻译生成的。
    您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
  • 信号处理程序调用任何函数内的标准库,除了abort_Exit,或signal的第一个参数的信号处理.
    原文:
    the signal handler calls any function within the standard library, except abort, _Exit, or signal with the first argument not being the number of the signal currently handled.
    这段文字是通过 Google Translate 自动翻译生成的。
    您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

目录

[编辑] 参数

sig -
信号设置信号处理程序。它可以是一个实现定义的值或以下值之一:
定义信号类型
(常量宏) [edit]
原文:
the signal to set the signal handler to. It can be an implementation-defined value or one of the following values:
定义信号类型
(常量宏) [edit]
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
handler -
信号处理程序。这必须是下列之一:
  • SIG_DFL宏。信号处理程序设置为系统默认的信号处理程序。
  • SIG_IGN宏。的信号被忽略。
  • 指向函数的指针。函数签名必须是等价于下面的:
void fun(int sig);
原文:
the signal handler. This must be one of the following:
  • SIG_DFL macro. The signal handler is set to default signal handler.
  • SIG_IGN macro. The signal is ignored.
  • pointer to a function. The signature of the function must be equivalent to the following:
void fun(int sig);
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 返回值

以前的信号处理程序,可以禁用一些实现成功或失败(设置信号处理程序SIG_ERR).
原文:
Previous signal handler on success or SIG_ERR on failure (setting a signal handler can be disabled on some implementations).
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 为例

[编辑] 另请参阅

运行特定信号的信号处理函数
(函数) [edit]