@toptyg

PHP скрипт в отдельном потоке?

как посмотреть id выполняемого приложения, запускаемого через пхп в windows?
(и linux тоже) сейчас делаю через
exec('start /B cmd /S /C "'.$command.'"');

пробовал через
if ( is_resource( $prog = proc_open($runPath, $descriptorspec, $pipes, $startDir, NULL) ) )
{

//Get Parent process Id
$ppid = proc_get_status($prog);
$pid=$ppid['pid'];

но во втором случае и пид не выдает и процесс криво запускает.. т.е. запуск команды вроде как происходит, но то-ли процесс зависает то-ли еще что-то... команда начинает выполняться, но не до конца.
Т.е. хотелось бы получать pid сразу после запуска команды и до ее выполнения. Чтобы потом можно было ждать и смотреть статус выполнения команды.
  • Вопрос задан
  • 1654 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Shahelm
Посмотрите может вам поможет.

symfony.com/doc/current/components/process.html
Ответ написан
Комментировать
@asd111
Можете попробовать другую версию php под windows. У меня часто бывало что какая то функция одной версии php под windows глючит, а в другой версии работает.
Можете попробовать написать на python - выйдет почти строка в строку.
stackoverflow.com/questions/3761639/how-do-you-get...
stackoverflow.com/questions/6767649/how-to-get-pro...
pythonhosted.org/psutil/#psutil.Process.status
https://docs.python.org/3/library/multiprocessing.html
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы