sapi_windows_generate_ctrl_event
sapi_windows_generate_ctrl_event
Send a CTRL event to another process
bool **sapi_windows_generate_ctrl_event** int $event int $pid
Sends a CTRL event to another process in the same process group.
event
The event to send;
either
or .
CTRL``PHP_WINDOWS_EVENT_CTRL_C``PHP_WINDOWS_EVENT_CTRL_BREAK
pid
The ID of the process to which to send the event to. If
is given, the event is sent to all processes of the process group.
0
return.success
Voorbeeld: Basic Usage
This example shows how to pass along events to a child
process. In this case the child process echoes
every second, until the user presses , what causes
only the child process to be terminated.
CTRL+BREAK``I'm still alive``CTRL+BREAK
<?php
// forward CTRL+BREAK events to the child process
sapi_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]);
}
?>
proc_open``sapi_windows_set_ctrl_handler