[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP exec получить PID не дожидаясь завершения
HectorTwist
Доброго времени суток. Столкнулся возможно с тривиальной задачей но пока не могу найти решения ей.
Необходимо запустить команду в консоли так чтоб PHP не ждал завершения и при этом получить её PID чтоб была возможность кикнуть процесс.

вообщем пробовал так:

<?php
exec('php /var/www/yii parser 3 > /var/www/console.txt 2> /var/www/error.txt &', $op);
?>


В итоге в файле console.txt имею весь вывод исполняемо команды кроме PID
Массив $op возвращаеться пустым

ещё вариант:

<?php
exec('php /var/www/yii parser 3 > /dev/null 2>&1 & echo $!', $op);
?>


В этом случае PHP ждёт ответа но PID возвращяет в $op

Так же пробовал оборачивать всё в ob_start() - ob_get_clean();
Но результат пустая строка.

Сошелся на том что если не выводить в файл то PHP ждёт завершения выполнения процесса. Если же вывод в файл то не пойму как получить PID.

Кто нибудь наверника с этим сталкивался. Пордскажите что делаю не так или в какую сторону копать. Заранее Спасибо.
Oyeme
Попробуй так вот ;) Процесс будет висеть в background и ты получаешь его id
$pid =  shell_exec('php /var/www/yii parser 3  > /dev/null 2>/dev/null &  echo $');
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.