Перехват результата выполнения команды в консоли, на 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: | Tags: /
| Rating:
Leave a Reply