linux中alarm函数的实例讲解

发布时间:2024-07-15 点击:78
服务器
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信号,执行对应的注册函数,而非杀死进程。
很简单,先说这么多。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对西部数码的支持。如果你想了解更多相关内容请查看下面相关链接

我的这个这个网站打开速度非常慢
今天突然远程连不上不知道是否资源已满
上饶云服务器购买
便宜云服务器托管
foxmail怎么登录新账号 foxmail登录新账号的方法
我这个备案我们没有座机号码随便写了一个您看怎么处理一下
301重定向出错-虚拟主机/数据库问题
如何获得https证书