博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 信号详解四(pause,alarm)
阅读量:6243 次
发布时间:2019-06-22

本文共 637 字,大约阅读时间需要 2 分钟。

pause函数--将进程置为可中断睡眠状态,然后它调用内核函数schedule(),使linux进程调度器找到另一个进程来运行。--pause使调用者进程挂起,直到一个信号被捕获。

 

alarm函数--设置一个闹钟延迟发送信号,告诉linux内核n秒以后,发送SIGALRM信号。
//kill 函数#include 
#include
#include
#include
#include
#include
#include
#include
void catch_signal(int sig){ switch(sig) { case SIGALRM: printf("sigalrm have recv !\n"); alarm(1); }}int main(int arg,char *args[]){ //注册信号 if(signal(SIGALRM,catch_signal)==SIG_ERR) { perror("signal error"); return -1; } //一个alarm()函数只会发送一次信号 alarm(1); while(1) { pause(); printf("accept !\n"); } printf("game over!\n"); return 0;}

 

转载地址:http://oypia.baihongyu.com/

你可能感兴趣的文章
Unable to preventDefault inside passive event listener
查看>>
java中string和int互相转化 (转)
查看>>
[LUOGU] P1220 关路灯
查看>>
【转】在控制台、WinForm项目中的嵌入mdf文件的烦恼
查看>>
【转】C51中断函数的写法
查看>>
django无法加载admin的静态内容的问题(Centos7+Nginx+uwsgi环境下)
查看>>
windows 2008 启用.NET Framework 3.5
查看>>
Linux -- Ubuntu搭建java开发环境
查看>>
MVC视图中Html常见的辅助方法
查看>>
分享一下刚刚HP电话面试。。。。。。。。我估计我挂了,不过还是要来分享一下...
查看>>
PT 转 PX
查看>>
平凡世界里的万千思绪
查看>>
(二)java环境搭建
查看>>
深入推荐引擎相关算法 - 协同过滤2
查看>>
mybatis逆向工程之配置
查看>>
使用.NET 4.0+ 操作64位系统中的注册表
查看>>
剑指offer——面试题26:判断二叉树B是否为二叉树A的子结构
查看>>
scrapy主动退出爬虫的代码片段
查看>>
ny12 喷水装置(二)
查看>>
C\C++语言细节(2)
查看>>