Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > proc_open - завершить процесс, раньше дочернего


Автор: BuShaRt 25.7.2014, 17:53
Есть скрипт, который запускают из командной строки (т.е. не каких http-серверов).
Это скрипт, с помощью proc_open инициализирует работу приложением написанным на Java. По средствам pip-ов PHP-срипт передает JAVA-приложению некоторый объем данных и в завершение команду Start. По факту получения этой команды Java приложение будет работать несколько часов.

Важно:
* Мне нужно работать с пайпами, поэтому просто запустить nohup с перенаправлением IO-потоков в null не выйдет.
* По этой же причине команде proc_open нет алтенатив. Если считаете иначе, то просьба показать пример работы с пайпами.
* Я не привязан к нюансам работы PHP в HTTP режиме

Проблема.
Метод, в котором запущена функция proc_open полностью отрабатывается и доходит до return (exit, die, throw или просто окончания метода, если ничего из вышеперечисленного не используется), после чего останавливает "зависает", пока не дождется окончания работы Java-приложения. А хотелось бы, чтоб после передачи всех необходимых данных, процессы разделялись и далее шли независимо друг от друга. Это возможно?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)