Обработка PHP ^ C CLI-скрипта - PullRequest
5 голосов
/ 22 сентября 2011

У меня есть PHP-скрипт, который работает в фоновом режиме 24/7. Мне иногда приходится его прерывать, и смысл сценария в том, чтобы кэшировать данные транзакций в memcahced из биткойн-RPC (если вы не знаете, что это такое, это не имеет значения). Я хочу, чтобы скрипт выполнял функцию, когда программа получает сигнал, отправленный на ^ C (элемент управления C).

Ответы [ 2 ]

20 голосов
/ 22 сентября 2011

Вы, вероятно, хотите pcntl_signal. Сигнал, который вам нужно поймать: SIGINT.

2 голосов
/ 13 февраля 2015

В случае, если кто-то еще смотрит, я нашел ответ, который не требует pcntl_signal.

Вы можете использовать system("stty intr ^-");, чтобы остановить ^C от автоматического выхода из сценария.Затем вы можете захватить его как ord(fread(STDIN, 1)) == 3 в PHP и обработать выход вручную.

Я работаю над библиотекой , которая делает это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...