C 库函数 - signal()

描述

C 库函数 void (*signal(int sig, void (*func)(int)))(int) 设置一个函数来处理信号,即带有 sig 参数的信号处理程序。

声明

下面是 signal() 函数的声明。

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

参数

sig -- 在信号处理程序中作为变量使用的信号码。下面是一些重要的标准信号常量:

宏信号

SIGABRT(Signal Abort) 程序异常终止。

SIGFPE(Signal Floating-Point Exception) 算术运算出错,如除数为 0 或溢出(不一定是浮点运算)。

SIGILL(Signal Illegal Instruction) 非法函数映象,如非法指令,通常是由于代码中的某个变体或者尝试执行数据导致的。

SIGINT(Signal Interrupt) 中断信号,如 ctrl-C,通常由用户生成。

SIGSEGV(Signal Segmentation Violation) 非法访问存储器,如访问不存在的内存单元。

SIGTERM(Signal Terminate) 发送给本程序的终止请求信号。

func -- 一个指向函数的指针。它可以是一个由程序定义的函数,也可以是下面预定义函数之一:

SIG_DFL默认的信号处理程序。

SIG_IGN忽视信号。

返回值

该函数返回信号处理程序之前的值,当发生错误时返回 SIG_ERR。

实例

下面的实例演示了 signal() 函数的用法。

#include

#include

#include

#include

void sighandler(int);

int main()

{

signal(SIGINT, sighandler);

while(1)

{

printf("开始休眠一秒钟...\n");

sleep(1);

}

return(0);

}

void sighandler(int signum)

{

printf("捕获信号 %d,跳出...\n", signum);

exit(1);

}

让我们编译并运行上面的程序,这将产生以下结果,且程序会进入无限循环,需使用 CTRL + C 键跳出程序。

开始休眠一秒钟...

开始休眠一秒钟...

开始休眠一秒钟...

开始休眠一秒钟...

开始休眠一秒钟...

捕获信号 2,跳出...

signal c语言,C 库函数相关推荐

  1. c语言库函数说明,C语言常用库函数说明

    C语言常用库函数说明 序号 库类别 头文件 详细说明 1 错误处理 errno.h 2 字符处理 ctype.h 3 地区化 local.h 4 数学函数 math.h 5 信号处理 signal.h ...

  2. 在汇编程序中调用C语言的库函数,h转inc

    在汇编语言中如果能够调用C语言的库函数,有时会很方便 先给个示例程序: .386 .model flat,stdcall option casemap:none ;Include定义 include ...

  3. C语言字符串库函数api

    C语言字符串库函数api 快速的上手api是一种能力 strnset函数有错误 典型的状态函数 快速的上手api是一种能力 建立正确的程序运行示意图,(内存四区及函数调用堆栈图)是根本保障!! int ...

  4. c语言课题设计字符串处理函数报告,C语言输入输出库函数设计实验报告.doc

    C语言输入输出库函数设计实验报告 第 PAGE \* MERGEFORMAT I页 共 SECTIONPAGES \* MERGEFORMAT 1页 华中科技大学计算机科学与技术学院 C语言课程设计报 ...

  5. C语言strcat()库函数的实现

    C语言strcat()库函数的实现 #include<stdio.h> #include<string.h> void MyStrcat(char *dstStr, char ...

  6. 二级c语言常用,二级C语言常用库函数.doc

    二级C语言常用库函数 二级C语言常用库函数 二级C语言中,常用库函数可参考下面表格,具体使用方法可参考文件<C标准库函数集.pdf>,更多函数的用法可参考文件<C标准库函数集速查.c ...

  7. C语言strcat库函数讲解

    C语言strcat库函数讲解 MSDN关于strcat库函数的介绍 解析: 从上述MSDN关于strcat库函数的介绍中,我们可以清楚地知道strcat库函数的头文件是<string.h> ...

  8. c语言常用库函数使用要点,C语言常用库函数使用要点.doc

    C语言常用库函数使用要点.doc C语言常用库函数使用要点 C语言常用库函数使用要点 李素萍太原理工大学阳泉学院信息系 C语言提供了丰富的库函数,只有有效地使 用库函数,才能学好,学活C语言.为了- ...

  9. C语言strcpy库函数的讲解

    C语言strcpy库函数的讲解 附1:MSDN关于strcpy库函数的简介 思路: 1.从上面的MSDN关于strcpy库函数的简介中,我们可以知道,传进函数的第一个参数是目标数组,也就是用来接收被拷 ...

最新文章

  1. BZOJ2631tree——LCT
  2. jakarta_MicroProfile在Jakarta EE时代的作用
  3. 铁路交通系统安全堪忧:丹麦国家铁路运营商DSB和RENA售票网站接连受创
  4. springboot+springsecurity+mybatis plus之用户认证
  5. bugku——分析(流量分析)题解
  6. ASP.NET MVC SignalR(1):背景
  7. 远程工作时的协作工具
  8. 互联网日报 | 7月15日 星期四 | B站赠送所有用户1天大会员;饿了么投入3亿用于今夏骑手保障;小米智能工厂二期开工...
  9. IE6、7 a链接内图片加滤镜后导致a标签链接失效问题解决
  10. CCF2018-3-2 碰撞的小球
  11. 保护REST API / Web服务的最佳实践[关闭]
  12. 从volume表的host字段开始学习RPC
  13. VLFeat-----mean sift开源库【配置】【转载】
  14. C#学习笔记之线程 - 使用线程
  15. vscode中查看二进制文件
  16. 【阮一峰ES6入门教程学习笔记】函数的扩展
  17. 大于/小于/等于 的缩写
  18. Linux添加路由的方法
  19. 全新造型游戏耳机再出发—极度未知HyperX 毒刺2 灵动版游戏耳机
  20. firefox控制台打开方法

热门文章

  1. CentOS 6.3下Samba服务器的安装与配置(转)
  2. 【hta版】获取AppStore上架后的应用版本号
  3. Mono.Cecil C#代码注入
  4. zz STL 优先队列
  5. 收藏:asp.net
  6. centos7安装mysql8.0简书_CentOS7安装MySQL8.0图文教程
  7. 你选的那些创业方向 可能正在毁掉你!
  8. mysql查询大于等于效率_mysql 中4 OR 6的效率要大于 !=5?
  9. ABAP计算间隔月份
  10. 【转】SAP开关账期后台任务