PHP的pcntl扩展提供了信号处理的功能,利用它可以让PHP来接管信号的处理,在开发服务器端守护进程方面,信号处理至关重要。pcntl这个扩展仅在cli/cgi模式下可用。mod_php和php-fpm中不可以使用。PHP在编译的过程中,并没有把pcntl连接到php-cli可执行文件中。

函数原型:

bool pcntl_signal(int $signo ,callback $handler [,bool $restart_syscalls=true])

第二个参数是信号发生时回调的PHP函数。

第三个参数是是否restart,是否重新注册此信号。这个参数如果为false,那此信号只注册处理一次。

//信号处理需要注册ticks才能生效,这里务必注意

//PHP5.4以上版本就不再依赖ticks了

declare(ticks = 1);

function sig_handler($signo)

{

switch ($signo) {

case SIGUSR1:

echo "SIGUSR1\n";

break;

case SIGUSR2:

echo "SIGUSR2\n";

break;

default:

echo "unknow";

break;

}

}

pcntl_signal(SIGUSR1, "sig_handler");

pcntl_signal(SIGUSR2, "sig_handler");

posix_kill(posix_getpid(), SIGUSR1);

posix_kill(posix_getpid(), SIGUSR2);

?>

rango php,韩天峰(Rango)的博客相关推荐

  1. iOS中 视频直播功能-流媒体的使用(详解)韩俊强的CSDN博客

    上一篇博客:(流媒体实现视频播放和下载功能):http://blog.csdn.net/qq_31810357/article/details/50574914 最近视频直播功能比较火,处于需求,研究 ...

  2. 看完阮一峰老师的博客后,感觉 OAuth2.0认证就这?

    OAuth 2.0是目前最流行的授权机制,用来授权第三方应用,获取用户数据. 这个标准比较抽象,使用了很多术语,初学者不容易理解.其实说起来并不复杂,下面我就通过一个简单的类比,帮助大家轻松理解,OA ...

  3. 韩天峰php教程,韩天峰(Rango)的博客

    PHP5以上的版本,面向对象的功能基本上已经达到了Java C#的水平. 1.对象的传递全部采用传引用. Php代码 $obj = new MClass; 可以把$obj任意传递到函数.对象.方法.属 ...

  4. php级差,韩天峰(Rango)的博客

    很多纯PHP开发的后端框架中都使用了pcntl扩展提供的信号处理函数pcntl_signal,实际上这个函数的性能是很差的.首先看一段示例代码: declare(ticks = 1); pcntl_s ...

  5. 韩天峰(Rango)推荐书目

    我推荐几本书给大家,包括深入理解计算机系统.现代操作系统.C程序设计语言.C语言数据结构和算法.Unix环境高级编程.TCP/IP网络通信详解.另外我建议大家学习一下面向对象方面知识,PHP这方面的书 ...

  6. 加密算法之阮一峰大神博客摘抄

    http://www.ruanyifeng.com/blog/2006/12/notes_on_cryptography.html 1. 加密方法可以分为两大类.一类是单钥加密(private key ...

  7. PHP 异步并行编程_韩天峰

    2019独角兽企业重金招聘Python工程师标准>>> PHP 异步并行编程_韩天峰 韩天峰(Rango)多玩游戏平台技术负责人,swoole开源项目创始人.PHP的异步并行编程,介 ...

  8. 阮一峰老师博客爬取与博客文章存储持久化方式的思考

    阮一峰老师博客爬取与博客文章存储持久化方式的思考 前言 博客文章存储持久化思考 文本形式存储 html形式存储 pdf形式存储 博客爬取思路 爬取思路一 爬取思路二 个人选择 pdf存储 结尾 前言 ...

  9. 阮一峰:为什么要写博客(转)

    作者简介:阮一峰,70年代生于上海.毕业于上海财经大学,经济学博士,同时也是程序员,个人博客访问量过千万,译有<黑客与画家>.<软件随想录>.目前供职于一所上海本地高校.本文为 ...

最新文章

  1. 最常用的10个Matlab快捷键,助你编程更高效
  2. golang 判断目录是否为空
  3. Python基本数据类型的注意事项
  4. 天空测试显卡软件,BootCamp版本检测工具v1.5.2
  5. js中的 arguments ,实参的集合
  6. go 数据添加元素和删除特定元素
  7. 【数据结构与算法】AVL树的Java实现
  8. css如何让不确定宽度的div水平居中
  9. java中hashset_Java HashSet – Java中的HashSet
  10. yaml与json的对比
  11. JZOJ_3928. 射击 (Standard IO)
  12. java二次开发考勤机_浩顺AC671指纹考勤机二次开发(demo)
  13. 操作系统课程设计--银行家算法的模拟实现
  14. 32位程序使用超过4G的内存
  15. wx.getLocation() 定位误差 解决
  16. 如何用PlaySound函数播放wav音乐VS2019
  17. 千千静听界面模拟(C#)
  18. 获知某一年的母亲节,父亲节和感恩节日期
  19. swoole 协程与go 协程对比
  20. 【Python数据挖掘课程】八.关联规则挖掘及Apriori实现购物推荐

热门文章

  1. 机器翻译先驱 Jaime Carbonell 去世,创立卡内基梅隆大学语言技术学院
  2. 一行命令自动给图片戴上口罩,硬核操作!
  3. 机器学习霸占高薪榜、区块链偃旗息鼓?2020 年软件工程师状况解读!
  4. 定了!苹果 10 亿美元收购英特尔调制解调器部门!
  5. 想用 Python3 破冰人工智能?首先你得懂这些数学方法!
  6. Windows Notepad 迎来重大更新!
  7. 数据库乱象丛生,开发者该如何选择?
  8. 还在用 AI 和机器学习?简单的 SQL 脚本就能替代!
  9. 果粉们要的才不是事后歉意
  10. winform调用websocket_C#基于websocket的前台及后台实时推送