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()函数

赞(0)
未经允许不得转载:极客笔记 » C标准库 signal函数
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址