Необходимо мониторить удаленный сервер через SSH, средствами PHP: 1) получение и анализ лога 2) проверка работающих процессов По первому пунктом проблем нету, содержимое логов получаю командой cat /var/log/syslog | gper INFO Когда пытаюсь получить вывод данных из утилиты qstatistics (аналог top, только показывает определенную группу процессов), интерфейс подвисает и скрипт вылетает по time out. Как я понимаю, qstatistics, как и top, постоянно гонят поток данных, а чтобы выйти из этих утилит, нужно отправить нажатие клавиши ESC, а как отправить это нажатие с помощью PHP сообразить не могу. Может есть другие варианты получения вывода из утилит qstatistics или top? Что можете посоветовать в данной ситуации? P.s. Удаленный сервер на Debian, возможность установки на сервер скриптов или дополнительных утилит есть. PHP: <?php $ssh = ssh2_connect('0.0.0.0', 22); ssh2_auth_password($ssh, 'login', 'password'); //Получение данных из лога $stream = ssh2_exec($ssh, 'cat /var/log/syslog | gper INFO'); stream_set_blocking( $stream, true ); while (!feof($stream)) { $date .= fread( $stream, 4096 ); } //Получение списка запущенных процессов $stream = ssh2_exec($ssh, 'qstatistics 2'); stream_set_blocking( $stream, true ); while (!feof($stream)) { $date .= fread( $stream, 4096 ); } ?>
Да, спасибо. Утилиту top, я привел как пример, чтобы понятно было. Только в утилите qstatistics нельзя указать кол-во интераций. Все бы ничего, из top данные выдерал бы, но qstatistics выводит еще кучу другой необходимой информации кроме самих процессов, т.к. идет в комплекте с программным комплексом...