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

相关推荐
m0_5698814710 分钟前
C++中的装饰器模式变体
开发语言·c++·算法
笒鬼鬼11 分钟前
【API接口】最新可用红果短剧接口
算法·api·笒鬼鬼·红果短剧·接口源码
weixin_4219226913 分钟前
C++与边缘计算
开发语言·c++·算法
mzhan01713 分钟前
Linux:intel:Cache Allocation tech
linux·cpu
2401_8319207415 分钟前
C++编译期数组操作
开发语言·c++·算法
蝎子莱莱爱打怪20 分钟前
别再裸用 Claude Code 了!32 个亲测Skills + 8 个 MCP,开发效率直接拉满!
java·后端·claude
殷紫川22 分钟前
秒杀系统高并发核心优化与落地全指南
算法·架构
学机械的鱼鱼33 分钟前
【踩坑记录】Linux环境下FreeCAD打开后一新建就崩
linux
野犬寒鸦34 分钟前
JVM垃圾回收机制面试常问问题及详解
java·服务器·开发语言·jvm·后端·算法·面试
风酥糖40 分钟前
Godot游戏练习01-第16节-游戏中的状态机
算法·游戏·godot