怎样理解SIGALRM信号
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章将为大家详细讲解有关怎样理解SIGALRM信号,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。SIGALRM信号是操作系统中的其中一个信号。他的
千家信息网最后更新 2025年02月05日怎样理解SIGALRM信号
这篇文章将为大家详细讲解有关怎样理解SIGALRM信号,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
SIGALRM信号是操作系统中的其中一个信号。他的作用是设置进程隔多久后会收到一个SIGALRM信号。下面我们看一下他的实现原理。
alarm系统调用是设置多久触发SIGALRM信号的函数。下面是他的声明。
#include
unsigned alarm(unsigned seconds);
我们看看实现。
int sys_alarm(long seconds)
{
int old = current->alarm;
// 算出原来的时间
if (old)
old = (old - jiffies) / HZ;
/*
系统每隔n秒触发一次时钟中断。jiffies是系统发生时钟中断的次数。
1秒等于HZ个jiffies,这里就是算出jiffies数,即时钟中断发生多少次后触发SIGALRM信号
*/
current->alarm = (seconds>0)?(jiffies+HZ*seconds):0;
// 返回旧的
return (old);
}
我们看到PCB中使用alarm字段记录了SIGALRM信号触发的时间。我们再来看一下触发的时机。
*/
void schedule(void)
{
int i,next,c;
struct task_struct ** p;
// 遍历进程
for(p = &LAST_TASK ; p > &FIRST_TASK ; --p)
if (*p) {
/*
判断是否设置了alarm并且过期了
alarm < jiffies说明过期了。设置alarm信号,清除设置标记
*/
if ((*p)->alarm && (*p)->alarm < jiffies) {
(*p)->signal |= (1<<(SIGALRM-1));
(*p)->alarm = 0;
}
}
...
}
在进程调度的时候,系统会处理SIGALRM信号的逻辑,判断是否可以触发SIGALRM信号了。是的话在PCB中打上标记。但是这时候如果该进程没有被调度执行,那SIGALRM信号的函数会被延迟执行。即这里只是记录信息的时机,不一定是执行的时机。
另外在父进程创建子进程的时候(fork),子进程不会进程父进程的alarm信息(重置为0),但是如果一个进程设置了SIGALRM然后通过execve系列函数执行新的程序时,alarm信息会被继承下来。最后我们看一下用法。
#include
#include
#include
#include
void handle_alarm()
{
exit(0);
}
int main(int argc, char *argv[])
{
signal(SIGALRM, handle_alarm);
alarm(10);
while(1) {}
}
进程在10秒或10秒之后触发SIGALRM信号,然后执行信号处理函数,最后退出。
关于怎样理解SIGALRM信号就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
信号
进程
系统
函数
信息
时机
时钟
内容
文章
时候
时间
更多
知识
篇文章
处理
调度
不错
操作系统
上标
作用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
2003服务器系统安全
数据库查询语句有哪些要求
灵武软件开发公司设计方案
软件开发测试靠谱吗
哈尔滨互联网科技
华为服务器电源脱机启动方法
vct服务器网络系统管理
监狱网络安全事件分级
huawei服务器
河北戴尔服务器维修续保
中国数据库技术已经超越美国
我的世界国际版服务器怎么放音乐
大学生如何利用网络技术学好翻译
非肿瘤数据库有哪些
怎样取消对数据库的修改
如何保障服务器安全性
2008 服务器管理
2021网络安全宣传周绘画
企业使用了什么网络安全技术
联想sr588服务器备份数据库
分布式内存流数据库技术
手机老是弹出服务器怎么删除
北京软件开发服务厂家现货
仿驾校一点通软件开发
河北正规软件开发特征
互联网科技行业税点
财富数据库杨冰
乡村护苗网络安全
有关学习网络安全技术的书
c 语言载入大量数据库