
Я использую phpseclib
для запуска скрипта оболочки на моем сервере с заданным интервалом. Этот скрипт включает использование nohup
. По какой-то причине, если нет пользователя, готового отправить SIGINT или возврат к nohup
после его запуска, он убивает процесс.
Например, если я запускаю скрипт через локальную подсказку, он запускается, то все, что мне нужно сделать, это нажать Enter, и я получаю новую подсказку cmd. Когда я пытаюсь запустить его автоматически, я не могу передать return или SIGINT, и процесс никогда не заканчивается. Идеи?
решение1
Обычно я использовал уродливый фреймворк TCL/Tk под названием Expect для подобных вещей в прошлом. Я заметил, что есть версия php expect под названиемPHP:Ожидаемый. Возможно, это поможет здесь?
Expect должен позволить вам имитировать консольное соединение и отправлять любую последовательность клавиш. Будьте осторожны, хотя эти фреймворки могут быть болезненными. Если вы не привязаны к PHP, взгляните наЭшерчто звучит потрясающе (хотя я никогда этим не пользовался).