Петах, я не могу помочь с этой стороной PHP напрямую, но я могу отослать вас к статье, которую я натолкнул некоторое время назад, в которой кто-то эмулировал транзисторы, проверяя в сценарии оболочки на наличие ожидающих данных для именованная труба. Это увлекательное чтение, которое поднимает сценарии оболочки на совершенно новый уровень. : -)
Статья здесь: http://www.linusakesson.net/programming/pipelogic/
Итак ... в ответ на ваш запрос "грубых хаков", я полагаю, вы могли бы шунтировать вашу stdio через именованные каналы, а затем exec()
инструмент, источник которого включен в приведенный выше URL, чтобы проверить, ожидает ли что-либо чего-либо отправлено через трубу. Возможно, вы захотите разработать некоторые функции-обертки, чтобы помочь с вещами.
Я подозреваю, что pipelogic-решение предназначено только для Linux или, по крайней мере, потребует Unix-подобную операционную систему. Не знаю, как это можно сделать в Windows.