linux | pause函数 、alarm函数、signal函数

c++ 复制代码
//直接上demo
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#include <cerrno>


void signalrm_fn(int sig)
{
    printf("alarm!\n");
    alarm(2);
    return;
}
int main(void)
{
	//信号触发函数 ,当该线程触发到SIGALRM信号之后,便会执行signalrm_fn函数
	//而 函数 alarm(2)  表明运行到当前,计时2秒,2秒后发出信号SIGALRM
	//然后执行函数signalrm_fn
	//注意啊,程序 跑2秒是很快的,所以要将进程的状态设置为挂载
	
	
    signal(SIGALRM,signalrm_fn);
    alarm(2);
    while(1){
     int ret = pause();
      printf("the return is :%d\n",ret);
      if(errno == EINTR){
        printf("errno == EINTR\n");
    }
    }

    return 0;
}
bash 复制代码
alarm!
the return is :-1
errno == EINTR
alarm!
the return is :-1
errno == EINTR
alarm!
the return is :-1
errno == EINTR

######################################

被打断施法,后面继续更新

感觉这一块涉及很多底层 进程 通信

Q@@@QQ

相关推荐
没有bug.的程序员3 小时前
服务安全:内部服务如何防止“裸奔”?
java·网络安全·云原生安全·服务安全·零信任架构·微服务安全·内部鉴权
一线大码3 小时前
SpringBoot 3 和 4 的版本新特性和升级要点
java·spring boot·后端
前端小L3 小时前
贪心算法专题(十):维度权衡的艺术——「根据身高重建队列」
javascript·算法·贪心算法
方得一笔3 小时前
自定义常用的字符串函数(strlen,strcpy,strcmp,strcat)
算法
weixin_440730503 小时前
java数组整理笔记
java·开发语言·笔记
weixin_425023003 小时前
Spring Boot 实用核心技巧汇总:日期格式化、线程管控、MCP服务、AOP进阶等
java·spring boot·后端
一线大码4 小时前
Java 8-25 各个版本新特性总结
java·后端
Xの哲學4 小时前
Linux SMP 实现机制深度剖析
linux·服务器·网络·算法·边缘计算
2501_906150564 小时前
私有部署问卷系统操作实战记录-DWSurvey
java·运维·服务器·spring·开源
wuk9984 小时前
使用PCA算法进行故障诊断的MATLAB仿真
算法·matlab