该功能raise()
用于将信号发送到程序。预定义函数signal()
被调用。它用于检查是否将忽略信号或调用信号处理程序。这在“ signal.h”头文件中声明。它返回零,否则返回非零值。
这是raise()
C语言的语法,
int raise(int signal)
这里,
信号-要调用的信号编号。
这是raise()
C语言的示例,
#include <signal.h> #include <stdio.h> void handler(int sig) { printf("Signal received : %d\n", sig); } int main() { signal(SIGILL, handler); printf("Sending signal : %d\n", SIGILL); raise(SIGILL); return 0; }
输出结果
Sending signal : 4 Signal received : 4
在以上程序中,在函数之前定义了函数处理程序main()
,在主函数中定义了函数处理程序,signal()
并发送和接收了SIGILL(信号非法指令)。
signal(SIGILL, handler); printf("Sending signal : %d\n", SIGILL); raise(SIGILL);