PHP.mk документација

sapi_windows_generate_ctrl_event

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.sapi-windows-generate-ctrl-event.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.sapi-windows-generate-ctrl-event.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
sapi_windows_generate_ctrl_event

Референца за `function.sapi-windows-generate-ctrl-event.php` со подобрена типографија и навигација.

function.sapi-windows-generate-ctrl-event.php

sapi_windows_generate_ctrl_event

(PHP 7 >= 7.4.0, PHP 8)

sapi_windows_generate_ctrl_eventИспрати CTRL настан до друг процес

= NULL

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

Испраќа CTRL настан до друг процес во истата група на процеси.

Параметри

event

На CTRL настан за испраќање; или PHP_WINDOWS_EVENT_CTRL_C or PHP_WINDOWS_EVENT_CTRL_BREAK.

pid

ID на процесот до кој се испраќа настанот. Ако 0 е дадено, настанот се испраќа до сите процеси од групата на процеси.

Вратени вредности

Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.

Примери

Пример #1 Основен sapi_windows_generate_ctrl_event() Употреба

Овој пример покажува како да се предаде 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() - Постави или отстрани CTRL ракувач на настани

Белешки од корисници 1 белешка

Мајкл К
пред 5 години
This function may produce a Warning:

sapi_windows_set_ctrl_handler(): CTRL events trapping is only supported on console in script.php..

It happens when script is started by "php-cgi.exe", so "php.exe -q" should be used instead.

While pressing CTRL+C don't expect the handler to run instantly, i've ran some curl request in a loop and found that handler runs when either response arrives or request finishes by timeout.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.