在signal.h头文件中还有以下几个定义
#define SIG_ERR (void ()())-1
#define SIG_DFL (void (
)())0
#define SIG_IGN (void (*)())1

系统调用signal用来设定某个信号的处理方法。该调用声明的格式如下:
void (*signal(int signum, void (*handler)(int)))(int);
在使用该调用的进程中加入以下头文件:
#include <signal.h>上述声明格式比较复杂,如果不清楚如何使用,也可以通过下面这种类型定义的格式来使用(POSIX的定义):
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler);
但这种格式在不同的系统中有不同的类型定义,所以要使用这种格式,最好还是参考一下联机手册。在调用中,参数signum指出要设置处理方法的信号。第二个参数handler是一个处理函数,或者是
SIG_IGN:忽略参数signum所指的信号。
SIG_DFL:恢复参数signum所指信号的处理方法为默认值。

传递给信号处理例程的整数参数是信号值,这样可以使得一个信号处理例程处理多个信号。系统调用signal返回值是指定信号signum前一次的处理例程或者错误时返回错误代码SIG_ERR。下面来看一个简单的例子:
#include <signal.h>
#include <unistd.h>
#include <stdio.h>
void sigroutine(int dunno) {
switch (dunno) {
case 1:
printf("Get a signal – SIGHUP ");
break;
case 2:
printf("Get a signal – SIGINT ");
break;
case 3:
printf("Get a signal – SIGQUIT ");
break;
}
return;
}
int main() {
printf("process id is %d ",getpid());
signal(SIGHUP, sigroutine); //* 下面设置三个信号的处理方法
signal(SIGINT, sigroutine);
signal(SIGQUIT, sigroutine);
for (;

c语言中signal函数详细说明--举例相关推荐

  1. c语言中signal函数详细解释说明

    c语言中signal函数详细解释说明     对于 信号处理函数 位于 <signal.h> 中. void ( *signal( int sig, void (* handler)( i ...

  2. C语言中signal函数简介及使用

    signal.h是C标准函数库中的信号处理部分,定义了程序执行时如何处理不同的信号.信号用作进程间通信,报告异常行为(如除零).用户的一些按键组合(如同时按下Ctrl与C键,产生信号SIGINT).C ...

  3. c语言signal函数详细说明

    c语言中singal函数详细解释说明 对于信号处理函数位于<sys/singal.h>中 void (*signal(int sig,void(*handler)(int))) (int) ...

  4. C语言中fopen函数使用举例及打开方式列表

    C语言中fopen函数使用举例及打开方式列表 虽然用的是c++的头文件,但是是c的代码,建议纯c的小伙伴把头文件换掉,并删除using namespace std; #include<iostr ...

  5. python中fun函数的用法_c语言中fun函数的定义和使用

    c语言中fun函数的定义和使用 发布时间:2020-06-23 12:36:58 来源:亿速云 阅读:817 这期内容当中小编将会给大家带来有关c语言中fun函数的定义和使用,以专业的角度为大家分析和 ...

  6. _nop_在c语言里什么作用,单片机c语言中nop函数的使用方法和延时计算

    原标题:单片机c语言中nop函数的使用方法和延时计算 标准的C语言中没有空语句.但在 的C语言编程中,经常需要用几个空指令产生短延时的效果. 这在汇编语言中很容易实现,写几个nop就行了. 在C51中 ...

  7. c语言time函数的作用,c语言中time函数的用法

    c语言中time函数的用法 c语言中time函数的用法的用法你知道吗?下面应届毕业生小编就跟你们详细介绍下c语言中time函数的用法的用法,希望对你们有用. c语言中time函数的用法的用法如下: 头 ...

  8. (转)C语言中Exit函数的使用

    C语言中Exit函数的使用 exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束 return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了, ...

  9. exit在c语言里的作用,C语言中exit函数的使用

    exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束 return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调 ...

最新文章

  1. UVa978 - Lemmings Battle!(优先级队列)
  2. bzoj 1468 Tree(点分治模板)
  3. 数据挖掘十大经典算法之——PageRank 算法
  4. 【Linux】一步一步学Linux——userdel命令(84)
  5. 无用的设计模式之装饰者模式
  6. uva11991 Easy Problem from Rujia Liu?
  7. java中的同步关键字_Java中进程同步问题,锁 和synchronized 关键字的用法
  8. BZOJ 2466 [中山市选2009]树(高斯消元)
  9. Namespace名称空间
  10. centos7修改ip地址命令_linux nmcli命令详解
  11. Js 给JSON对象排序
  12. 基于Java的旅游信息管理系统的设计与实现
  13. 多线段几何图形—— 简单几何图形(求几何图形面积)
  14. 金山词霸划译功能对IDE的影响
  15. skyeye linux qt,Ubuntu 16.04上安装SkyEye及测试
  16. ppt矩形里面的图片怎么放大缩小_如何使用PPT调节图片的大小
  17. 浏览器怎么显示php文件夹,如何使用浏览器打开php文件?
  18. 如何将 elasticsearch 版本从 openshift-logging 4.2.36 降级到 v4.2.29
  19. 2.4 人工智能项目开发与验收
  20. 大几率破解word文档密码

热门文章

  1. 避免创业的大忌,我为何给 TDengine 只选择了集群、高性能与 SQL 支持三大特点?
  2. 瓷砖铺贴方法_5种常见的瓷砖铺贴以及施工方法介绍
  3. CF545C Woodcutters
  4. python中输入一个数字x判断0~x间能被5除的个数_Python的面试题
  5. Matlab语音信号去噪程序,使用低通巴特沃斯滤波器
  6. 全球酷站秀:15个顶尖的 CSS3 网站作品
  7. 数据分析——算法——K-means聚类(天池:汽车产品聚类分析)
  8. 使用 OpenAI API 构建 Next.js 应用程序的初学者指南
  9. System.Web.Caching.Cache
  10. Keil(MDK-ARM)的调试步骤