std::signal
来自cppreference.com
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
在头文件 <csignal> 中定义
|
||
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.当信号处理程序设置为一个函数和一个信号出现,它实现定义是否std::signal(sig, SIG_DFL)都将立即执行的信号处理程序的开始之前。此外,实施可以防止一些实现定义的一组信号的信号处理程序运行时,发生.
原文:
When signal handler is set to a function and a signal occurs, it is implementation defined whether std::signal(sig, SIG_DFL) will be executed immediately before the start of signal handler. Also, the implementation can prevent some implementation-defined set of signals from occurring while the signal handler runs.
对于一些信号,,实现可致电std::signal(sig, SIG_IGN)在启动的程序。对于剩下的实现必须调用std::signal(sig, SIG_DFL).
如果用户定义的函数返回时,处理
SIGFPE
,SIGILL
,SIGSEGV
或任何其他执行自定义的信号,指定一个计算异常的行为是不确定的。在大多数实现中,该程序将终止. std::abort或std::raise的结果,如果信号处理函数被调用的行为是不确定的,如果不遵守下列条件之一的:
原文:
If the signal handler is called as a result of std::abort or std::raise, the behavior is undefined if any of the following requirements is not followed:
- 信号处理程序调用std::raise.
- 信号处理程序是指静态存储持续时间的对象,这是不声明为volatile std::sig_atomic_t.原文:the signal handler refers to an object of static storage duration which is not declared as volatile std::sig_atomic_t.
- 信号处理程序调用任何函数内的标准库,除了std::abort,std::_Exit,或std::signal的第一个参数的信号处理.原文:the signal handler calls any function within the standard library, except std::abort, std::_Exit, or std::signal with the first argument not being the number of the signal currently handled.
目录 |
[编辑] 参数
sig | - | 信号设置信号处理程序。它可以是一个实现定义的值或以下值之一:
原文: the signal to set the signal handler to. It can be an implementation-defined value or one of the following values:
| ||||||||||||||||||
handler | - | 信号处理程序。这必须是下列之一:
原文: the signal handler. This must be one of the following:
|
[编辑] 返回值
以前的信号处理程序,可以禁用一些实现成功或失败(设置信号处理程序
SIG_ERR
).原文:
Previous signal handler on success or
SIG_ERR
on failure (setting a signal handler can be disabled on some implementations).[编辑] 示例
本章尚未完成 原因:暂无示例 |
[编辑] 另请参阅
运行特定信号的信号处理程序 原文: runs the signal handler for particular signal (函数) | |
C documentation for signal
|