php-как получить вывод shell_exec() из терминала linux при выполнении команды?

я запускаю одну команду linux с shell_exec() в моем php-скрипте.

$output = shell_exec('/usr/bin/linux-command ');

After выполнение команды я получаю значение в переменную. Это нормально.
Но здесь моя команда linux выдаст вывод continuously in terminal.
Это будет выглядеть так..

$linux-command  
123    456    789  
789    456    123  
123    456    789 .. //and so on..(by pressing 'Ctrl+c' only we can stop this. 

Каждые 5 секунд будет отображаться одна строка. как получить строку каждые 5 секунд.
Моя страница загружается ........ Потому что она ждет $output.
Есть ли способ решить мою проблему??
Любая идея приветствуется. заранее спасибо


person Reddi Rajendra P    schedule 30.05.2013    source источник
comment
См. stackoverflow.com/questions/9791875/   -  person devnull    schedule 30.05.2013


Ответы (2)


Попробуйте функцию passthru. Результат отображается напрямую. Вы можете проверить это с помощью этого небольшого скрипта:

<?php
passthru('tail -f /var/log/apache2/access.log');
?>
person lexmihaylov    schedule 30.05.2013
comment
хм .. Почему страница загружается ???....... ничего не показывает .. @lexmihaylov В любом случае я не хочу прямого вывода на веб-страницу. мне нужен результат в виде таблицы - person Reddi Rajendra P; 30.05.2013
comment
извините, я думал, что вы говорите о кли-скрипте, а не о веб-скрипте. - person lexmihaylov; 30.05.2013
comment
Хм. Вы можете использовать shell_exec($command.' › '.$filename.' 2›'.$filename.' &'); и после этого просто периодически получать с помощью ajax-метода содержимое из $filename, анализировать его и что-то с ним делать? - person lexmihaylov; 30.05.2013
comment
эй .. я не имею дело с файлами yaar .. это вывод команды, которая дает статистику системы. хорошо ? @lexmihaylov - person Reddi Rajendra P; 30.05.2013

Вы можете использовать popen, подробнее см. в руководстве popen manual

person oscar.getstring    schedule 30.05.2013