Существуют ли ограничения по времени для php / popen / fgets, когда труба тиха в течение нескольких часов - PullRequest
0 голосов
/ 13 мая 2019

У меня есть фоновый сервис под окнами, который будет запускать скрипт php. Сценарий выглядит так:

<?php
$handle = popen('pinotify.x86_64.exe','r');
while($line = fgets($handle)) {
  $line = trim($line);
  ...
}
pclose($handle);

В моем примере вызываемый процесс (pinotify.x86_64.exe) генерирует несколько строк, если изменяется какой-либо контролируемый файл.

Я вижу в диспетчере задач мой выполняющийся скрипт PHP с открытым дочерним процессом pinotify.x86_64.exe. Но внутри php-скрипта ничего не происходит, даже процесс pinotify.x86_64.exe должен генерировать несколько выходных строк.

Это происходит после запуска службы и тихого pinotify.x86_64.exe (pinotify.x86_64.exe не генерирует выходные данные в течение примерно 4 часов.)

Существуют ли ограничения по времени для popen / fgets? Должна ли вызываемая команда генерировать какой-либо вывод каждый час, чтобы иметь «неразорванный» канал?

...