linux中alarm函数的实例讲解
作者:stpeace 时间:2023-03-17 23:47:01
linux alarm函数简介
上代码:
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <signal.h>
int main(int argc, char *argv[])
{
alarm(5);
sleep(20);
printf("end!\n");
return 0;
}
运行5秒后,内核向进程发出SIGALRM
信息,进程被终止,所以上述程序的结果是:
Alarm clock
当然,我们也可以人为定义信号处理函数,如下:
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <signal.h>
void sig_alarm(int sig)
{
printf("sig is %d, sig_alarm is called\n", sig);
}
int main(int argc, char *argv[])
{
signal(SIGALRM, sig_alarm); // 注册alarm信号对应的函数
alarm(5); // 5秒后,内核向进程发出alarm信号, 执行对应的信号注册函数
sleep(20);
printf("end!\n");
return 0;
}
结果:
sig is 14, sig_alarm is called
end!
可以看到,内核向应用进程发出SIGALRM信号,执行对应的注册函数,而非杀死进程。
很简单,先说这么多。
来源:https://blog.csdn.net/stpeace/article/details/73658137
标签:linux,alarm函数
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Oracle VM VirtualBox 在linux系统下安装增强插件实现访问主机的共享文档方法
2023-07-26 15:59:40
教你一招 小流量网站站长照样赚钱
2009-09-25 09:40:00
用MDaemon搭建邮件服务器(上)
2007-11-14 13:35:00
Apache运行模式之standalone和inetd模式介绍
2023-11-02 20:53:44
51wan要做开心网 新域名暗示开展SNS业务
2009-10-16 10:01:00
逐步排查 层层递进 解决IIS服务器报错
2010-05-04 17:59:00
linux实现除了某个文件或某个文件夹以外的全部删除
2023-09-08 04:46:35
从用户体验的角度 来看看SEO的大势所趋
2009-03-25 11:04:00
Linux上iptables防火墙的基本应用教程
2011-05-14 16:17:00
技巧:打造灵活安全的存储域服务器
2009-06-04 17:58:00
VirtualBox+Ubuntu16搭建Kubernetes集群的实现
2021-02-21 23:16:15
Nginx反爬虫策略,防止UA抓取网站
2021-06-09 11:03:00
默多克封Google“算细帐”看好传媒市场后市
2009-11-20 17:22:00
二期备案即将上线 备案系统改造投入试运行公告
2007-09-20 18:15:00
Godaddy 域名续费图文教程 支付宝续费
2011-05-10 17:02:00
利用博客写英文评论赚钱
2009-05-27 01:20:00
![](https://img.aspxhome.com/file/UploadPic/20097/2009716191339856s.jpg)
Linux编程之ICMP洪水攻击
2023-07-27 00:40:06
![](https://img.aspxhome.com/file/2023/1/64181_0s.png)
选择美国主机的机房地理位置与网络分析
2010-03-17 14:34:00
![](https://img.aspxhome.com/file/UploadPic/20103/19/201031994121305.png)
MDaemon的安装入门篇
2007-03-27 13:39:00
构建反病毒反垃圾邮件系统(七)
2007-10-10 14:39:00