Я использовал эту функцию, чтобы проверить, запущен процесс или нет. (Я получил от http://nsaunders.wordpress.com/2007/01/12/running-a-background-process-in-php/):
function Is_Process_Running($PID){
exec("ps $PID", $ProcessState);
return(count($ProcessState) >= 2);
}
Насколько я понимаю, функция вернется, только если массив $ ProcessState содержит более двух строк, что будет, если процесс активен.
Таким образом, легко кодировать что-либо для выполнения действия, пока процесс выполняется, как показано ниже (также ссылка сверху):
while(is_process_running($PID))
{
echo(" . ");
ob_flush(); flush();
sleep(1);
}
Но тогда каков наилучший способ выполнить действие после завершения процесса? Я попробовал:
while(! is_process_running($PID))
но это не работает, я думаю, потому что это проходит цикл только один раз. Любая помощь очень ценится, спасибо!