C++ 编程/代码/标准 C 库/函数/signal
外观
语法 |
#include <csignal>
void (*signal( int sig, void (*handler)(int)) )(int)
|
signal() 函数接受两个参数 - 第一个参数是信号标识符,第二个参数是指向信号处理函数的函数指针,该函数指针接受一个参数。signal 的返回值是指向先前处理函数的函数指针(如果更改信号处理函数时出错,则为 SIG_ERR)。
默认情况下,大多数引发的信号都由处理程序 SIG_DFL(通常会关闭程序的默认信号处理程序)或 SIG_IGN(忽略信号并继续程序执行)处理。
当您指定自定义处理程序并引发信号时,信号处理程序会恢复为默认值。
虽然信号处理程序已被 throw 和 catch 取代,但某些系统可能仍然要求您使用这些函数来处理某些重要事件。例如,基于 Unix 的系统上的 SIGTERM 信号表示程序应尽快终止。
- 相关主题
- raise