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

本文共 728 字,大约阅读时间需要 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;}

 

转载于:https://www.cnblogs.com/zhanggaofeng/p/6080718.html

你可能感兴趣的文章
基本算法概论
查看>>
jquery动态移除/增加onclick属性详解
查看>>
JavaScript---Promise
查看>>
暖暖的感动
查看>>
Java中的日期和时间
查看>>
Django基于admin的stark组件创建(一)
查看>>
抛弃IIS,利用FastCGI让Asp.net与Nginx在一起
查看>>
C. Tanya and Toys_模拟
查看>>
springboot jar包运行中获取资源文件
查看>>
基于FPGA实现的高速串行交换模块实现方法研究
查看>>
Java Scala获取所有注解的类信息
查看>>
delphi ,安装插件
查看>>
case when then的用法-leetcode交换工资
查看>>
11.28.cookie
查看>>
BeanShell简介
查看>>
python字符串操作
查看>>
不同程序语言的注释和变量要求
查看>>
语言基础(9):static, extern 和 inline
查看>>
ES5_03_Object扩展
查看>>
bzoj 2600: [Ioi2011]ricehub
查看>>