Я пишу php cli интерактивная программа, она действует как оболочка с помощью readline
расширение.
Но я нахожу это, когда я нажимаю Ctrl + С, вся программа выходит. Я надеюсь, что он может получить новое приглашение вместо выхода (так же, как bash
).
Так что я стараюсь pcntl_signal
обращаться с SIGINT
pcntl_signal(SIGINT, SIG_IGN);
Он не выходит и ничего не отвечает (как мертвый)
Я изменяю код на:
pcntl_signal(SIGINT, function(){
echo "\n";
});
На этот раз он печатает ^C
но нет новой строки, когда я нажимаю Войти это новая строка перед подсказкой.
я прочитал Readline: получите новый запрос на SIGINT , но он использует C
а я нашел нет siglongjmp
функция в php
,
Интересно, можно ли получить новое приглашение, когда я нажимаю Ctrl + С
Задача ещё не решена.
Других решений пока нет …