C Standard Library 简明教程

C Library - <signal.h>

signal.h 头定义了一个变量类型 sig_atomic_t ,两个函数调用和许多宏,以处理程序执行期间报告的不同信号。

The signal.h header defines a variable type sig_atomic_t, two function calls, and several macros to handle different signals reported during a program’s execution.

Library Variables

以下是头 signal.h 中定义的变量类型 −

Following is the variable type defined in the header signal.h −

Sr.No.

Variable & Description

1

sig_atomic_t This is of int type and is used as a variable in a signal handler. This is an integral type of an object that can be accessed as an atomic entity, even in the presence of asynchronous signals.

Library Macros

以下是头 signal.h 中定义的宏,这些宏将用于下面列出的两个函数。 SIG_ 宏与信号函数一起使用,以定义信号函数。

Following are the macros defined in the header signal.h and these macros will be used in two functions listed below. The SIG_ macros are used with the signal function to define signal functions.

Sr.No.

Macro & Description

1

SIG_DFL Default signal handler.

2

SIG_ERR Represents a signal error.

3

SIG_IGN Signal ignore.

SIG 宏用于在以下条件中表示信号数 −

The SIG macros are used to represent a signal number in the following conditions −

Sr.No.

Macro & Description

1

SIGABRT Abnormal program termination.

2

SIGFPE Floating-point error like division by zero.

3

SIGILL Illegal operation.

4

SIGINT Interrupt signal such as ctrl-C.

5

SIGSEGV Invalid access to storage like segment violation.

6

SIGTERM Termination request.

Library Functions

以下是在头文件中定义的功能 signal.h −

Following are the functions defined in the header signal.h −

Sr.No.

Function & Description

1

void (*signal(int sig, void (*func)(int)))(int)This function sets a function to handle signal i.e. a signal handler.

2

int raise(int sig)This function causes signal sig to be generated. The sig argument is compatible with the SIG macros.