Я использую proc_open
в php для запуска подпроцесса и отправки данных туда и обратно.
В какой-то момент я хотел бы дождаться завершения процесса и получить код выхода.
Проблема в том, что если процесс уже завершился, то мой вызов proc_close
возвращает -1. Очевидно, существует большая путаница относительно того, что на самом деле возвращает proc_close
, и я не нашел способа надежно определить код завершения процесса, открытого с помощью proc_open
.
Я пробовал использовать proc_get_status
, но он, похоже, также возвращает -1, если процесс уже завершился.
Я не могу заставить proc_get_status
когда-либо выдать мне правильный код выхода, независимо от того, как и когда он вызывается. Неужели она полностью сломана?