Перехват результата выполнения команды в консоли, на php

Столкнулся я с задачей использования php для парсинга выполнения некоторой команды на php. Однако перехватить её вывод, оказалось не так уж и просто..
Чтение мануалов не помогло, однако все же один комментарий отыскался, именно он и навел меня на верный путь 🙂
Итак, например нам надо получить в скрипт на php, вывод команды:
| 1 2 3 | # ps -A | grep mysql | 
В таком случае мы берем, подготовленную мной функцию:
| 1 2 3 4 5 6 7 |     function run($cmd)     {         exec(trim($cmd).' 2>&1', $ret);         return $ret;     } | 
и пишем:
| 1 2 3 |  $out = run('ps -A | grep mysql'); | 
Соответственно в out получаем:
| 1 2 3 4 5 6 7 8 | array(2) {   [0]=>   string(35) "23971 pts/1    00:00:00 mysqld_safe"   [1]=>   string(30) "24133 pts/1    00:06:18 mysqld" } | 
Собственно это и все, напоследок весь скрипт целиком:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/usr/bin/php <?php     function run($cmd)     {         exec(trim($cmd).' 2>&1', $ret);         return $ret;     }     $out = run('ps -A | grep mysql');     var_dump($out); | 
Разумеется этот пример выбран, только для демонстрации..
Author: | Rating: / | Tags:

Leave a Reply