linux中alarm函数的实例讲解

 更新时间:2019年04月04日 17:29:39   作者:stpeace  
今天小编就为大家分享一篇关于linux中alarm函数的实例讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

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信号,执行对应的注册函数,而非杀死进程。

很简单,先说这么多。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • Ubuntu如何修改Swap交换空间大小

    Ubuntu如何修改Swap交换空间大小

    这篇文章主要介绍了Ubuntu如何修改Swap交换空间大小问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • 启用 Apache Rewrite 重写模块的详细过程

    启用 Apache Rewrite 重写模块的详细过程

    Apache的mod_rewrite是最强大的URL 操作模块之一,使用 mod_rewrite,您可以重定向和重写 url,这对于在您的网站上实现 seo 友好的 URL 结构特别有用,在本文中,我们将引导您了解如何在基于 Debian 和基于 RHEL 的系统上在 Apache 中启用 mod 重写,感兴趣的朋友一起看看吧
    2025-02-02
  • Linux中如何修改~/.bashrc或/etc/profile设置环境变量

    Linux中如何修改~/.bashrc或/etc/profile设置环境变量

    这篇文章主要介绍了Linux中如何修改~/.bashrc或/etc/profile设置环境变量问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Centos8最小化部署安装OpenStack Ussuri的详细教程

    Centos8最小化部署安装OpenStack Ussuri的详细教程

    这篇文章主要介绍了Centos8最小化部署安装OpenStack Ussuri的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • ubuntu20.04连接wifi的方法(2种)

    ubuntu20.04连接wifi的方法(2种)

    这篇文章主要介绍了ubuntu20.04连接wifi的方法(2种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 关于linux服务器下vsftpd的一些问题

    关于linux服务器下vsftpd的一些问题

    针对我自己本身出现的问题,将高人与我的QQ聊天记录整理了一份,然后再加上实际的操作.终于让我大彻大悟.现在与大家狠狠的分享这位高人的成果.
    2010-06-06
  • 在Apache上隐藏服务器签名的方法

    在Apache上隐藏服务器签名的方法

    这篇文章主要介绍了在Apache上隐藏服务器签名的方法,示例基于Debian系的Linux,需要的朋友可以参考下
    2015-06-06
  • 深入解读Linux进程函数fork(),vfork(),execX()

    深入解读Linux进程函数fork(),vfork(),execX()

    这篇文章主要介绍了深入解读Linux进程函数fork(),vfork(),execX(),分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Linux Web服务器网站故障分析常用命令

    Linux Web服务器网站故障分析常用命令

    这篇文章主要为大家详细分析了Linux Web服务器网站故障,利用常用命令查看故障,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Ubuntu下Docker CE的安装

    Ubuntu下Docker CE的安装

    今天小编就为大家分享一篇关于Ubuntu下Docker CE的安装,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01

最新评论