linux中alarm函数的实例讲解
2019-04-11 09:17
609 查看
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信号,执行对应的注册函数,而非杀死进程。
很简单,先说这么多。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
您可能感兴趣的文章:
相关文章推荐
- 使用C语言的fork()函数在Linux中创建进程的实例讲解
- linux中fork()函数详解(原创!!实例讲解)
- 嵌入式Linux之我行——S3C2440上RTC时钟驱动开发实例讲解
- 对Linux下shell编程之for循环的实例讲解
- linux中fork()函数详解(原创!!实例讲解)
- 简单实例讲解linux的module模块编译步骤
- 嵌入式Linux之我行——S3C2440上看门狗(Watchdog)驱动开发实例讲解
- linux下 signal信号机制的透彻分析与各种实例讲解
- linux中fork()函数详解(原创!!实例讲解)
- linux中fork()函数详解(原创!!实例讲解)
- linux中alarm函数和pause函数详解实例
- linux中fork()函数详解(实例讲解)
- linux中fork()函数详解(原创!!实例讲解)
- linux中fork()函数详解(原创!!实例讲解) (转载)
- Linux sed实例讲解,很有用哦
- 嵌入式Linux之我行——S3C2440上LCD驱动(FrameBuffer)实例开发讲解(二)
- 嵌入式Linux之我行——S3C2440上MMC/SD卡驱动实例开发讲解(一)
- linux驱动模型开发——linux platform总线机制讲解与实例开发
- linux之grep实例讲解
- 嵌入式Linux之我行——S3C2440上MMC/SD卡驱动实例开发讲解(一)[转]