Function signal () in C

Void function (* signal (int sig, void (* func) (int)) (int) in Library C establishes a function for signal processing (eg a signal handler).

Void function (* signal (int sig, void (* func) (int)) (int) in Library C establishes a function for signal processing (eg a signal handler).

Declaring the signal () function in C

Below is the declaration for signal () function in C:

 void (* signal ( int sig , void (* func )( int )))( int ) 

Parameters

sig - This is a digital signal for a processing function to be set. Listed below are some important digital signals.

macrosignalSIGABRT (Signal Abort) Abnormal termination SIGFPE (Signal Floating-Point Exception) Operation related to arithmetic is not correct, such as dividing by zero or overflow) SIGILL (Signal Illegal Instruction) A function instruction SIGINT (Signal Interrupt) valid signal, usually created by user application SIGSEGV (Signal Segmentation Violation) Invalid access to storage, when a program tries to read or write outside the memory Is allocated to it SIGTERM (Signal Terminate) The end request is sent to the program

func - This is a pointer to a function. This can be a function defined by a programmer or one of the predefined functions:

SIG_DFL Default handling: Signals are handled by the default action for that specific signal. SIG_IGN Ignore the signal: The signal is ignored.

Returns the value

This function returns the previous value of Signal Handler or SIG_ERR on the error.

For example

The following C program illustrates the usage of the signal () function in C:

 #include #include #include #include void sighandler ( int ); int main () { signal ( SIGINT , sighandler ); while ( 1 ) { printf ( "Chuan bi sleep trong mot vai giay .n" ); sleep ( 1 ); } return ( 0 ); } void sighandler ( int signum ) { printf ( "Bat duoc tin hieu %d, chuan bi thoat .n" , signum ); exit ( 1 ); } 

Compiling and running the above C program will create an infinite loop. To exit the program, press CTRL + C.

Function signal () in C Picture 1Function signal () in C Picture 1

According to Tutorialspoint

Previous lesson: Function raise () in C

Next post: signal.h in C

4 ★ | 2 Vote