百科狗-知识改变命运!

pcntl_signal() - pcntl进程控制

是丫丫呀2年前 (2023-11-21)阅读数 21#技术干货
文章标签信号

pcntl_signal()

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

安装一个信号处理器

说明

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

函数pcntl_signal()为$signo指定的信号安装一个新的信号处理器。

参数

$signo

信号编号。

$handler

信号处理器可以是用户创建的函数或方法的名字,也可以是系统常量SIG_IGN(译注:忽略信号处理程序)或SIG_DFL(默认信号处理程序).

Note:

注意当你使用一个对象方法的时候,该对象的引用计数回增加使得它在你改变为其他处理或脚本结束之前是持久存在的。$restart_syscalls

指定当信号到达时系统调用重启是否可用。(译注:经查资料,此参数意为系统调用被信号打断时,系统调用是否从开始处重新开始,但根据http://bugs.php.net/bug.php?id=52121,此参数存在bug无效。)

pcntl_signal() - pcntl进程控制

返回值

成功时返回TRUE,或者在失败时返回FALSE

更新日志

版本说明
4.3.0增加参数$restart_syscalls。
4.3.0对象方法可以作为回调被使用。
4.3.0PCNTL现在使用了ticks作为信号处理的回调机制,ticks在速度上远远超过了之前的处理机制。这个变化与“用户ticks”遵循了相同的语义。您可以使用declare()语句在程序中指定允许发生回调的位置。这使得我们对异步事件处理的开销最小化。在编译PHP时启用pcntl将始终承担这种开销,不论您的脚本中是否真正使用了pcntl。 PHP 4.3.0使用ticks作为信号处理回调机制,这比以前的机制快了很多。这个变化与"用户ticks"遵循了相同的语义。您可以使用declare()语句在程序中指定允许发生回调的位置。

范例

pcntl_signal()示例

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)
{if $zbp->Config('yd1125')->foot}