函数名:sapi_windows_set_ctrl_handler()
函数描述:sapi_windows_set_ctrl_handler() 函数用于设置在 Windows 平台上捕获控制信号的处理程序。
适用版本:PHP 4 >= 4.2.0, PHP 5, PHP 7
语法:bool sapi_windows_set_ctrl_handler ( callable $callback [, bool $add = true ] )
参数:
- callback:必需。指定要执行的回调函数或方法的名称。该回调函数接受一个整数参数,表示接收到的控制信号。
- add:可选。指定是否添加或删除控制信号的处理程序。默认为 true,表示添加控制信号的处理程序。
返回值:成功时返回 true,失败时返回 false。
示例:
<?php
function my_handler($signal) {
echo "Received signal: " . $signal . "\n";
}
// 添加控制信号的处理程序
sapi_windows_set_ctrl_handler('my_handler');
// 模拟发送控制信号
posix_kill(posix_getpid(), SIGINT);
?>
输出:
Received signal: 2
在上述示例中,首先定义了一个回调函数 my_handler()
,当接收到控制信号时,该函数将被调用。然后使用 sapi_windows_set_ctrl_handler()
函数将 my_handler()
设置为控制信号的处理程序。最后,通过使用 posix_kill()
函数模拟发送了一个 SIGINT
控制信号,导致 my_handler()
函数被调用并输出了相应的信号值。