• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • sapi_windows_generate_ctrl_event()

    (PHP 7 >= 7.4.0)

    Send 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

    TheCTRLeven to send;eitherPHP_WINDOWS_EVENT_CTRL_CorPHP_WINDOWS_EVENT_CTRL_BREAK.

    $pid

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

    返回值

    成功时返回TRUE,或者在失败时返回FALSE

    范例

    Basicsapi_windows_generate_ctrl_event()Usage

    This example shows how to pass alongCTRL+BREAKevents to a child process. In this case the child process echoesI'm still aliveevery second, until the user pressesCTRL+BREAK, what causes only the child process to be terminated.

    <?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]);
    }
    ?>
    

    参见