linux alarm函数简介

上代码:

#include #include #include #include int main(int argc, char *argv[]) { alarm(5); sleep(20); printf("end!n"); return 0; }

运行5秒后,内核向进程发出SIGALRM信息,进程被终止,所以上述程序的结果是:

Alarm clock

当然,我们也可以人为定义信号处理函数,如下:

#include #include #include #include void sig_alarm(int sig) { printf("sig is %d, sig_alarm is calledn", sig); } int main(int argc, char *argv[]) { signal(SIGALRM, sig_alarm); // 注册alarm信号对应的函数 alarm(5); // 5秒后,内核向进程发出alarm信号, 执行对应的信号注册函数 sleep(20); printf("end!n"); return 0; }

结果:

sig is 14, sig_alarm is called

end!

可以看到,内核向应用进程发出SIGALRM信号,执行对应的注册函数,而非杀死进程。

很简单,先说这么多。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

linux内核alarm,linux中alarm函数的实例讲解相关推荐

  1. php simplexml_load_file 详解,php中simplexml_load_file函数用法实例讲解

    php中simplexml_load_file函数用法实例讲解 发布于 2015-02-07 06:53:40 | 136 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文 ...

  2. Linux内核源码中使用宏定义的若干技巧

    在C中,宏定义的概念虽然简单,但是真要用好却并不那么容易,下面从Linux源码中抽取一些宏定义的使用方法,希望能从中得到点启发: 1. 类型检查 比如module_init的宏定义: 点击(此处)折叠 ...

  3. CVE-2021-20226:详解 Linux 内核 IO_URING 子系统中的引用计数漏洞

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士 趋势科技 ZDI 发布文章,详细描述了2020年6月收到的最近引入的 io_uring 子系统的引用计数漏洞情况.该漏洞导致在任意 fil ...

  4. linux问号符号,调试linux内核时gdb中的问号符号4.10

    我想从linux内核中的函数start_kernel()调试linux内核.调试linux内核时gdb中的问号符号4.10 这基本上就是我已经做了 从kernel.org 下载4.10内核源提取源后: ...

  5. Linux内核多线程实现方法 —— kthread_create函数

          Linux内核多线程实现方法 -- kthread_create函数 内核经常需要在后台执行一些操作,这种任务就可以通过内核线程(kernle thread)完成独立运行在内核空间的标准进 ...

  6. linux内核完全注释百度网盘,LINUX内核完全注释中.pdf

    LINUX内核完全注释中 6.8 floppy.c 程序 122 } 123 printk ("\010\010\010\010\010done \n"); 124 ROOT_DE ...

  7. 【Linux 内核 内存管理】Linux 内核内存布局 ③ ( Linux 内核 动态分配内存 系统接口函数 | 统计输出 vmalloc 分配的内存 )

    文章目录 一.Linux 内核 动态分配内存 系统接口函数 二.统计输出 vmalloc 分配的内存 一.Linux 内核 动态分配内存 系统接口函数 Linux 内核 " 动态分配内存 & ...

  8. 【Linux 内核】Linux 操作系统结构 ( Linux 内核在操作系统中的层级 | Linux 内核子系统及关系 | 进程调度 | 内存管理 | 虚拟文件系统 | 网络管理 | 进程间通信 )

    文章目录 一.Linux 内核在操作系统中的层级 二.Linux 内核子系统 三.Linux 内核子系统之间的关系 一.Linux 内核在操作系统中的层级 Linux 内核 所在层级 : 整个计算机系 ...

  9. 解析Linux内核源码中数据同步问题丨C++后端开发丨Linux服务器开发丨Linux内核开发丨驱动开发丨嵌入式开发丨内核操作系统

    剖析Linux内核源码数据同步 1.pdflush机制原理 2.超级块同步/inode同步 3.拥塞及强制回写技术 视频讲解如下,点击观看: 解析Linux内核源码中数据同步问题丨C++后端开发丨Li ...

  10. linux 内核 面试,LINUX内核经典面试题

    4) 用户进程间通信主要哪几种方式?5) 通过伙伴系统申请内核内存的函数有哪些?6) 通过slab分配器申请内核内存的函数有?7) Linux的内核空间和用户空间是如何划分的(以32位系统为例)?8) ...

最新文章

  1. webscraper多页爬取_【实践】笔记_Chrome插件webscraper爬取天眼通数据
  2. 如何在OSCOMMERCE中安装中文语言包
  3. java file_Java IO: File
  4. 任命新CFO 百度迎来首位女性高管
  5. 中柏平板u盘启动_大数据时代,如何挑选大容量U盘?
  6. 使用Mondrian Virtual OLAP Cube 实现星座模型并在saiku展现分析
  7. 计算机CPU核的位数,如何查cpu位数
  8. 学术-几何-维-四维几何:超正方体(几何中的思维方体)
  9. mac 上查看字体文件的路径
  10. 如何让虚拟机mac支持独显_Mac上虚拟机的性能如何提升
  11. 本科挣 30 万,秋招大厂提前批offer,大学四年,帅地做对了什么?(附所有知识清单)
  12. ad软件one pin错误是啥意思_AD19的错误提示大总结解释
  13. 阿里云联合浙江大学举办首届数智服务创新挑战赛!
  14. liunx系统下搭建domian
  15. Win10任务栏图标一直刷新的解决方法
  16. echart 图表类型
  17. 交流中交易:金融业的专业社交
  18. 学习HM微博项目第10天
  19. ES6—ES13总结
  20. 秋招面试题“背”好了,那简历呢?

热门文章

  1. VLAD和MultiVLAD
  2. OOA、OOD、OOP分别是什么?
  3. error C3859 error 1076
  4. 如何用AD绘制一块还算优美的PCB板
  5. 单视频播放量超20万的公开课配套教材,猫书来了~
  6. CopyFile 使用方法
  7. 【Educoder python 作业答案】国防科技大学《大学计算机基础》※ 数字音频——儿歌配乐
  8. 精华!分享!军警格斗:特种兵系列之拳肘技术、腿膝技术 、徒手对刀等多种实用视频教学录像
  9. 每天学点GDB 12
  10. 有道 linux 安装路径,新学求助,linux版有道词典的二进制安装的问题