[io]进程间通信 -信号函数ALARM:

unsigned int alarm(unsigned int seconds)

头文件:

#include<unistd.h>

功能:

安排内核在指定的秒数后向调用进程发送 SIGALRM 信号

参数:

seconds 指定了从调用时刻开始经过多少秒后触发该信

返回值:

函数的返回值是之前设置的闹钟剩余的秒数,如果没有设置过闹钟,则返回0

注意:

1.一个进程只能有一个闹钟时间。如果在调用alarm时已设置过闹钟时间,则之前的闹钟时间被新值所代替

2.当时间到达设定的秒数时,系统会生成一个 SIGALRM 信号,该信号默认行为是终止进程。

需要注意的是,由于进程调度的延迟,进程实际接收到该信号的时间可能会有延迟。

3.在单线程程序中是允许的,但在多线程程序中并不适用

cs 复制代码
#include<stdio.h>
#include<signal.h>
#include<unistd.h>
int main
{
int n=alarm(3);
printf("first alarm:%d\n",n);
sleep(1);

n=alarm(5);
printf("%d\n",n);
while(1);
return 0;
}
相关推荐
CodeByV几秒前
【算法题】链表
数据结构·算法
小杨同学491 分钟前
【嵌入式 C 语言实战】单链表的完整实现与核心操作详解
后端·算法·架构
源代码•宸16 分钟前
Golang原理剖析(map)
经验分享·后端·算法·golang·哈希算法·散列表·map
wen__xvn20 分钟前
代码随想录算法训练营DAY15第六章 二叉树part03
数据结构·算法·leetcode
Sagittarius_A*22 分钟前
图像滤波:手撕五大经典滤波(均值 / 高斯 / 中值 / 双边 / 导向)【计算机视觉】
图像处理·python·opencv·算法·计算机视觉·均值算法
seeksky22 分钟前
Transformer 注意力机制与序列建模基础
算法
冰暮流星22 分钟前
c语言如何实现字符串复制替换
c语言·c++·算法
Swift社区23 分钟前
LeetCode 374 猜数字大小 - Swift 题解
算法·leetcode·swift
Coovally AI模型快速验证23 分钟前
2026 CES 如何用“视觉”改变生活?机器的“视觉大脑”被点亮
人工智能·深度学习·算法·yolo·生活·无人机
有一个好名字25 分钟前
力扣-链表最大孪生和
算法·leetcode·链表