PHP:pcntl_signal用于什么?

And*_*rew 3 php

我找到了一大堆我以前没见过的代码:

declare(ticks = 1);
pcntl_signal(SIGINT, array($this, "catchSignal"));
pcntl_signal(SIGTERM, array($this, "catchSignal"));
Run Code Online (Sandbox Code Playgroud)

我在PHP文档中查找了该函数,但我仍然不明白它的用途.请帮助我理解这个用途以及应该在哪里实现的一些例子.

Bre*_*ley 5

declare语句声明每个"tick"检查事件."tick"大致等于一行代码.这在命令行PHP脚本中使用,因此您可以捕获中断并正常关闭脚本,而不是仅仅删除它.

array($this, "catchSignal")pcntl_signal函数是奇工作各地(在我看来),以支持"对象"作为参数.通常你会这样做$this->catchSignal(),但PHP在这种情况下不接受类对象作为参数.因此"数组"语法.

基本上,如果脚本发出中断或终止信号,请$this->catchSignal()在关闭之前调用该函数.