pcntl_alarm — 为进程设置一个alarm闹钟信号

创建一个计时器,在指定的秒数后向进程发送一个SIGALRM信号。每次对 pcntl_alarm()的调用都会取消之前设置的alarm信号。

<?phppcntl_signal(SIGALRM, function () {pcntl_alarm(2);echo 'Received an alarm signal !' . PHP_EOL;
}, false);pcntl_alarm(2);while (true) {pcntl_signal_dispatch();sleep(1);
}

上面程序的执行流程是:

1、首先pcntl_signal()函数注册一个SIGALRM信号到它的第二个参数(闭包函数)上去。-----意思就是:当你收到这个SIGALRM信号后,执行那个闭包函数。(首先,先去掉闭包函数中的  pcntl_alarm(2); 这一项,然后再加上这一项,两次做对比可以看大不同)然后闭包函数中是echo了一个字符串。

2、pcntl_alarm(2)的含义是,系统就会在 2 秒之后给当前进程发一个SIGALRM信号

3、一直循环调用pcntl_signal_dispatch()函数,去捕捉传进来的信号

4、捕捉到信息后,执行第一个中的闭包函数,该函数echo字符串后,再次调用pcntl_alrm(2),然后在过2秒钟后再次向当前进程发送一个SIGALRM信号,如果往复...(可以在linux命令行用:php  demo.php测试下看看效果)

pcntl_alarm()的示例相关推荐

  1. .net连接mysql数据_.net连接MYSQL数据库的方法及示例!

    连接MYSQL数据库的方法及示例 方法一: 使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL 该组件为MYSQL为ADO.NET ...

  2. CPU Cache原理与示例

    CPU Cache原理与示例 基础知识 现在的 CPU 多核技术,都会有几级缓存,老的 CPU 会有两级内存(L1 和 L2),新的CPU会有三级内存(L1,L2,L3 ),如下图所示: 其中:  ...

  3. 编译器 llvm clang 源码转换示例

    编译器 llvm clang 源码转换示例 从git获取llvm项目的源码方式: git clone https://github.com/llvm/llvm-project.git 下载源码后,进入 ...

  4. Cache Memory技术示例

    Cache Memory技术示例 为什么需要cache?如何判断一个数据在cache中是否命中?cache的种类有哪些,区别是什么? 为什么需要cache memory 先思考第一个问题:程序是如何运 ...

  5. Swift与LLVM-Clang原理与示例

    Swift与LLVM-Clang原理与示例 LLVM 学习 从 简单汇编基础 到 Swift 不简单的 a + 1 作为iOS开发,程序崩溃犹如家常便饭,秉着没有崩溃也要制造崩溃的原则 每天都吃的很饱 ...

  6. C语言与OpenCL的编程示例比较

    C语言与OpenCL的编程示例比较 OpenCL支持数据并行,任务并行编程,同时支持两种模式的混合.对于同步 OpenCL支持同一工作组内工作项的同步和命令队列中处于同一个上下文中的 命令的同步. 在 ...

  7. OpenCL框架与示例

    OpenCL框架与示例 下面的图简单说明了OpenCL的编程框架,图是用的GPU,其他类似: 名词的概念: Platform (平台):主机加上OpenCL框架管理下的若干设备构成了这个平台,通过这个 ...

  8. ONNX MLIR应用示例(含源码链接)

    ONNX MLIR应用示例(含源码链接) 开放式神经网络交换在MLIR中的实现 (http://onnx.ai/onnx-mlir/). Prebuilt Containers 开始使用ONNX-ML ...

  9. TVM apps extension示例扩展库

    TVM apps extension示例扩展库 此文件夹包含TVM的示例扩展库.演示了其它库如何在C++和Python API中扩展TVM. 该库扩展了TVM的功能. python模块加载新的共享库, ...

最新文章

  1. Shadow mapping
  2. 计算机仿真实验用的教学软件是,AR增强现实教学软件,学习效果倍增
  3. 从PHP5到PHP7自我封装MongoDB以及平滑升级
  4. winform 判断控件有没有被遮挡_编程入门基础之 winform(2)
  5. MySQL 引擎特性 · InnoDB Buffer Pool
  6. 安装php no permision,php安装过程中的No package ‘xxx’ found问题
  7. word如何自动生成目录
  8. mysql修改密码椰子作用_全新椰子皮博客版本介绍及说明。
  9. 粉屏门又一次显示出了苹果的傲慢
  10. Log4j2报错ERROR StatusLogger Unrecognized format specifier
  11. 麦当劳可以免费添加可乐的!
  12. containers详解
  13. Quartus II IP生成报错
  14. 设计干货模板|孟菲斯风格促销海报让作品艺术加分!
  15. 《计算机网络——自顶向下方法》学习笔记——应用层
  16. 25行代码带你爬取4399小游戏数据,看下童年的游戏是否还在
  17. 计算机网络安全相关的外国文献,网络安全与防范外文文献翻译中英文.doc
  18. Python(算法综合)问题 D: 兵贵神速-快速排序
  19. 人人都是产品经理学习笔记2
  20. coreldraw课表设计作品_CorelDRAW强大的平面设计 亿万人都在用

热门文章

  1. Spring(eclipse)简要笔记
  2. USB OTG原理简述
  3. 外卖返利系统电影吃喝玩乐团购返利系统外卖探探外卖券儿外卖cps系统saas源码
  4. 原生js实现上拉加载
  5. GCC编译器和CC编译器的区别
  6. C++:链表(初识链表)
  7. Ansys workbench分析应用基础(2)
  8. hadoop集群搭建与使用
  9. Linux下IO编程(一)
  10. 17计算机一级,全国计算机等级考试一级17