sapi_windows_generate_ctrl_event Send a CTRL event to another process

发表日期:2021-07-01 10:15:43 | 来源: | | 浏览(696) 分类:杂项 函数

sapi_windows_generate_ctrl_event

(PHP 7 >= 7.4.0, PHP 8)

sapi_windows_generate_ctrl_eventSend a CTRL event to another process

说明

sapi_windows_generate_ctrl_event(int $event, int $pid = 0): bool

Sends a CTRL event to another process in the same process group.

参数

event

The CTRL even to send; either PHP_WINDOWS_EVENT_CTRL_C or PHP_WINDOWS_EVENT_CTRL_BREAK.

pid

The ID of the process to which to send the event to. If 0 is given, the event is sent to all processes of the process group.

返回值

成功时返回 true, 或者在失败时返回 false

范例

示例 #1 Basic sapi_windows_generate_ctrl_event() Usage

This example shows how to pass along CTRL+BREAK events to a child process. In this case the child process echoes I'm still alive every second, until the user presses CTRL+BREAK, what causes only the child process to be terminated.

<?php 
// forward CTRL+BREAK events to the child processsapi_windows_set_ctrl_handler('sapi_windows_generate_ctrl_event');
// create a child process which echoes every second$cmd = ['php', '-r', 'while (true) {
 echo "I\'m still alive\n";
 sleep(1);
 }
'];
$descspec = array(['pipe', 'r'], ['pipe', 'w'], ['pipe', 'w']);
$options = ['create_process_group' => true];
$proc = proc_open($cmd, $descspec, $pipes, null, null, $options);
while (true) {
    echo fgets($pipes[1]);
}
?>

参见

集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。