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

相关推荐
鱼香rose__6 分钟前
DOMjudge搭建记录
linux
近津薪荼9 分钟前
优选算法——前缀和(7):连续数组
算法
知识即是力量ol12 分钟前
Java 虚拟机:JVM篇
java·jvm·八股
快乐zbc39 分钟前
苍穹外卖 - 菜品起售/停售复习笔记
java·笔记
ArturiaZ42 分钟前
【day29】
数据结构·c++·算法
MoonOutCloudBack1 小时前
VeRL 框架下 RL 微调 DeepSeek-7B,比较 PPO / GRPO 脚本的参数差异
人工智能·深度学习·算法·语言模型·自然语言处理
Cosmoshhhyyy1 小时前
《Effective Java》解读第41条:用标记接口定义类型
java·开发语言
_F_y1 小时前
二叉树中的深搜
算法
Anastasiozzzz1 小时前
深入浅出:理解控制反转 (IoC) 与 Spring 的核心实现
java·后端·spring
前路不黑暗@1 小时前
Java项目:Java脚手架项目的 B 端用户服务(十四)
android·java·开发语言·spring boot·笔记·学习·spring cloud