Как прекратить чтение команд из консоли, используя readline?

Как перестать читать команды из консоли используя readline() работает в другой теме?

У меня есть код:

<?php

class Reader extends Thread
{
    private $enabled = true;

    public function run() : void
    {
        while($this->enabled)
        {
            $command = trim(readline("Enter the command > "));

            echo "You entered: $command\n";
        }
    }

    public function stop() : void
    {
        $this->enabled = false;
    }
}

$reader = new Reader();
$reader->start();

sleep(2); //wait for the thread execution

$reader->stop();
$reader->join();

Поток не может быть остановлен, пока в консоль не будет введена никакая команда.

Как можно остановить процесс ожидания ввода команд с консоли?

Может быть возможно программно отправить на консоль символ, который реагирует readline(), который возвращает управление потоку и успешно остановится

0 ответов

Другие вопросы по тегам