2013-05-17 2 views
0

Я нахожусь в Windows 7 с помощью WampServer и пытаюсь использовать FFMPEG.PHP exec или shell_exec, не возвращающий идентификатор процесса (PID) в Windows Wamp

Кодировка работает, но я не могу получить идентификатор процесса от метода exec() или методов shell_exec().

Это мой код:

$cmd = C:\ffmpeg\bin\ffmpeg.exe -i "C:\...\4ch.wav" -ar 44100 -ab 48000 -f mp3 -y "C:\...\enc_4ch.mp3" 

Это то, что я пытался сделать с shell_exec:

shell_exec("nohup $cmd > /dev/null & echo $!"); 

И Exec:

exec("nohup " . $this->_command . " > /dev/null 2>/dev/null &") ; // returns null 
exec("nohup " . $this->_command . " > /dev/null 2>&1 &"); // also returns null 

Пожалуйста, дайте мне знать, что я сделайте неправильно, так как я бы хотел использовать следующий метод, чтобы проверить, работает ли мой процесс:

private function is_process_running($proccess_id) 
    { 
     exec("ps $proccess_id", $process_state); 
     return (count($process_state) >= 2); 
    } 

спасибо в advace

ответ

0

Вы используете echo $!, чтобы получить идентификатор процесса, и что конкретная команда не доступна на Windows, так как это команда Unix оболочки. Ссылка на процедуру должна работать: How to get PID from PHP function exec() in Windows?

+0

Вы имеете в виду, используя 'tasklist'? – hoplaYann

Смежные вопросы