C标准库 signal函数

signal()函数用于设置某一信号的对应动作。

signal()函数 语法

int signal(int sig,sigfun fp);

参数sig为要被设置为处理函数的信号;

参数fp为指向信号所对应动作函数的指针。

signal()函数返回当前信号处理函数指针。

signal()函数 示例

本示例使用signal函数调用中断处理函数s1和s2,并输出相应的信息。其具体代码如下所示:

#include<stdio.h>
#include<signal.h>
void s1();
void s2();
int main(void)
{
     signal(SIGINT,s1);/*设置信号定义动作*/
     printf("please enter ctrl+c for interrupt ");/*输出提示信息*/
     getchar();/*接受字符*/
     signal(SIGSEGV,s2);/*设置信号定义动作*/
     printf("please enter any key for a interrupt ");/*输出提示信息*/
     getchar();/*接受字符*/
     raise(SIGSEGV);/*发送信号*/
}
void s1()/*自定义函数*/
{
    printf("This is a SIGINF interrupt! ");/*输出信息*/
}
void s2()/*自定义函数*/
{
    printf("This is a SIGSEGV interrupt! ");/*输出信息*/
}

运行结果如图所示。

signal()函数

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程