alarm就是给系统发一个请求,多久之后发送一个alarm信号给我。

#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#include <signal.h>
#include <unistd.h>/*** https://man7.org/linux/man-pages/man2/alarm.2.html* https://man7.org/linux/man-pages/man7/signal.7.html***/void handler(int sig, siginfo_t *info, void *ucontext) {printf("signal   handler %d \n", sig);printf("info->si_signo    %d \n", info->si_signo);printf("info->si_code    %d \n", info->si_code);}int main() {struct sigaction act = { 0 };act.sa_flags = SA_SIGINFO;act.sa_sigaction = &handler;if (sigaction(SIGALRM, &act, NULL) == -1) {perror("sigaction");exit(EXIT_FAILURE);}alarm(2);pause();alarm(2);pause();alarm(2);pause();printf("ok\n");return EXIT_SUCCESS;
}

pause()是阻塞当前线程,等待信号量的到来。

linux c alarm系统调用入门相关推荐

  1. 运用alarm系统调用检测网络是否断开

    比如对于一个Server/Client程序,Client会每隔一定时间(比如TIME_OUT_CLIENT)会向Server发送"CheckConnect"信息,Server收到这 ...

  2. linux学习步骤(从入门到精通)

    linux学习步骤(从入门到精通) 来源:http://os.chinaunix.net/a2008/0603/980/000000980392.shtml 博客 作者:新华网 编辑:周荣茂 学习步骤 ...

  3. Linux大棚版redis入门教程

    后端开发过程中,有时需要考虑系统的实时性,那么缓存系统就派上用场了,当然,现在最常用的当属Redis,这篇文章转自 Linux大棚版redis入门教程 [本教程目录] redis是什么 redis的作 ...

  4. 20165301 预备作业三:Linux安装及命令入门

    预备作业三:Linux安装及命令入门 VirtualBox虚拟机的安装 在进行安装之前,原本以为有了娄老师的安装教程会是一件很容易的事情.万万没想到,在自己实际动手操作中,还是遇到了许多困难.通过与同 ...

  5. python 调用linux内核api_Linux系统调用及用户编程接口(API)学习

    Linux系统学习 系统调用指操作系统提供给用户程序调用的一组"特殊"接口,用户程序可以通过这组"特殊"接口来获得操作系统内核提供的服务. 为什么用户程序不能直 ...

  6. ie传递给系统调用的数据区域太小_【Linux系列】系统调用

    在现代OS中,内核提供了用户进程与内核进行交互的一组接口.这些接口让应用程序受限地访问硬件设备,提供了创建新进程并与已有进程进行通信的机制,也提供了申请OS其他资源的能力. 系统调用在用户空间进程和硬 ...

  7. Linux 应用程序开发入门

    Linux 应用程序开发入门 Neo Chen (netkiller) <openunix@163.com> 版权 © 2011, 2012 http://netkiller.github ...

  8. 《 Linux的安装和入门 》

    < Linux的安装和入门一 > 一.安装前的准备工作 如果你有WIN98系统,想装Linux,就注意了,你硬盘里的有用数据就要先备份,以防不测,令硬盘数据全部丢失了,如果熟悉了也没那么可 ...

  9. 《Linux C编程从入门到精通》》一2.4 Linux中的调试环境gdb

    本节书摘来自异步社区<<Linux C编程从入门到精通>>一书中的第2章,第2.4节,作者 宋磊 , 程钢,更多章节内容可以访问云栖社区"异步社区"公众号查 ...

最新文章

  1. linux按顺序运行命令,linux – 安排cron作业打开终端并按顺序运行命令
  2. 《大话数据结构》样章试读
  3. win7下安装rose
  4. 怎么设置电脑锁屏不断网
  5. file encode - /UI2/CL_HTTP_FILE_ENCODE
  6. [css] 当全国哀悼日时,怎么让整个网站变成灰色呢?
  7. android studio有时打不开,android studio 打不开的几种可能
  8. 爱,可以如此悲壮!(转)
  9. ue4蓝图碰撞检测的类型_UE4_自定义相机碰撞组件
  10. 【总结】防病毒网关---防毒墙
  11. u盘文件名乱码linux,科学网—u盘文件夹名称乱码,双击打开提示无法访问解决办法 - 芦红的博文...
  12. 普中科技51单片机-单核-A2开发板实现简易计算器功能(矩阵键盘操作+数码管显示)
  13. java 设置时区_Java Calendar如何设置时区
  14. python with打开多个文件_在python中使用with打开多个文件的方法
  15. 利用vue实现“显示更多”功能
  16. 黑平台出金路上连环套客服爱答不理 投诉多了换域名换皮接着干
  17. redis分片式集群
  18. 大数据风控AI竞赛总结
  19. Blender遇到的一些莫名其妙的问题
  20. 在广州找前端开发实习经验分享2

热门文章

  1. IE浏览器CSS hack方式一览
  2. java 线性回归_java实现简单线性回归
  3. 江南大学计算机阶段测试题,江南大学2016.09计算机应用基础(专科类)第2阶段测试题...
  4. .NET Core基于Furion框架实现依赖注入
  5. GitHub的Super Linter是“一个统治所有人的Linter”
  6. 2021-9-30 背景噪声的研究
  7. 论文浅尝 | ERNIE-ViL:从场景图中获取结构化知识来学习视觉语言联合表示
  8. 1046: 数值统计
  9. ntoskrnl.exe(01)
  10. 软件测试 | 测试开发 | Nginx反向代理及内部模型简述