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函数
0
投稿

猜你喜欢

  • 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
  • Linux编程之ICMP洪水攻击

    2023-07-27 00:40:06
  • 选择美国主机的机房地理位置与网络分析

    2010-03-17 14:34:00
  • MDaemon的安装入门篇

    2007-03-27 13:39:00
  • 构建反病毒反垃圾邮件系统(七)

    2007-10-10 14:39:00
  • asp之家 网站运营 m.aspxhome.com