[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;
}
相关推荐
Lwcah16 小时前
Python | LGBM+SHAP可解释性分析回归预测及可视化算法
python·算法·回归
小此方16 小时前
从零开始手搓堆:核心操作实现 + 堆排序 + TopK 算法+ 向上调整 vs 向下调整建堆的时间复杂度严密证明!
开发语言·数据结构·算法
前端炒粉20 小时前
35.LRU 缓存
开发语言·javascript·数据结构·算法·缓存·js
断剑zou天涯1 天前
【算法笔记】窗口内最大值或最小值的更新结构
java·笔记·算法
smj2302_796826521 天前
解决leetcode第3753题范围内总波动值II
python·算法·leetcode
骑着猪去兜风.1 天前
线段树(二)
数据结构·算法
fengfuyao9851 天前
竞争性自适应重加权算法(CARS)的MATLAB实现
算法
散峰而望1 天前
C++数组(二)(算法竞赛)
开发语言·c++·算法·github
leoufung1 天前
LeetCode 92 反转链表 II 全流程详解
算法·leetcode·链表
wyhwust1 天前
交换排序法&冒泡排序法& 选择排序法&插入排序的算法步骤
数据结构·算法·排序算法