У меня давно возникла очень неприятная проблема с моими сценариями PHP CLI, которая постоянно возникала и вызывала проблемы. Теперь я наконец-то создал минимальный тестовый пример и надеюсь, что эту проблему можно решить раз и навсегда.
Если вы сделаете эти три вещи:
- Зарегистрируйте функцию-обработчик для сигнала SIGHUP (который остается пустым/ничего не делает)...
- Проверьте ввод данных от пользователя ()...
Код: Выделить всё
fgets(STDIN); - Запустите сценарий PHP CLI, например xterm -e php test.php (именно так я должен его называть по сложным причинам, не связанным с к этой проблеме)...
Как только вы прокомментируете или удалите строку, в которой регистрируется обработчик сигнала, вы сможете закрыть окно при запуске, как указано выше.
Тестовый пример
- = «X» НЕ МОЖЕТ нажать, чтобы закрыть окно XTerm.
Код: Выделить всё
xterm -e php 1.php - = «X» МОЖНО нажать, чтобы закрыть окно XTerm.
Код: Выделить всё
xterm -e php 2.php
Код: Выделить всё
1.php:
Подробнее здесь: [url]https://stackoverflow.com/questions/78245899/why-does-registering-a-handler-function-for-sighup-prevent-clicking-the-x-to-c[/url]