sapi_windows_generate_ctrl_event()
sapi_windows_generate_ctrl_event() — Send a CTRL event to another process.
Built-in function of PHP 8.5. The manual lists it as available in PHP 7 >= 7.4.0, PHP 8. This page is the reference card: signature, parameters and return value, plus the changelog and the example the manual provides.
What it does
Sends a CTRL event to another process in the same process group.
Signature
sapi_windows_generate_ctrl_event(int $event, int $pid = 0): bool
Parameters
| Parameter | Type | What it takes |
|---|---|---|
| $event | int | The CTRL event to send; either PHP_WINDOWS_EVENT_CTRL_C or PHP_WINDOWS_EVENT_CTRL_BREAK. |
| $pid | int | 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. |
Return value
Returns true on success or false on failure.
Example
A runnable snippet:
// 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]); }
See also
proc_open(), sapi_windows_set_ctrl_handler()
All PHP 8.5 built-in functions
Reference card built from the PHP manual page sapi_windows_generate_ctrl_event() (PHP documentation, CC BY 3.0). The page is generated from the manual, so the wording of the parameter and return value text follows php.net.