За последние 24 часа нас посетили 20126 программистов и 1693 робота. Сейчас ищут 1877 программистов ...

PHP и SSH, подвисание после top и аналогичных команд

Тема в разделе "Прочие вопросы по PHP", создана пользователем YaRosh, 11 июл 2009.

  1. YaRosh

    YaRosh Активный пользователь

    С нами с:
    6 июл 2009
    Сообщения:
    8
    Симпатии:
    0
    Необходимо мониторить удаленный сервер через SSH, средствами PHP:
    1) получение и анализ лога
    2) проверка работающих процессов

    По первому пунктом проблем нету, содержимое логов получаю командой cat /var/log/syslog | gper INFO

    Когда пытаюсь получить вывод данных из утилиты qstatistics (аналог top, только показывает определенную группу процессов), интерфейс подвисает и скрипт вылетает по time out. Как я понимаю, qstatistics, как и top, постоянно гонят поток данных, а чтобы выйти из этих утилит, нужно отправить нажатие клавиши ESC, а как отправить это нажатие с помощью PHP сообразить не могу.

    Может есть другие варианты получения вывода из утилит qstatistics или top? Что можете посоветовать в данной ситуации?

    P.s. Удаленный сервер на Debian, возможность установки на сервер скриптов или дополнительных утилит есть.

    PHP:
    1.  
    2. <?php
    3. $ssh = ssh2_connect('0.0.0.0', 22);
    4. ssh2_auth_password($ssh, 'login', 'password');
    5. //Получение данных из лога
    6. $stream = ssh2_exec($ssh, 'cat /var/log/syslog | gper INFO');
    7. stream_set_blocking( $stream, true );
    8. while (!feof($stream)) {
    9.     $date .= fread( $stream, 4096 );
    10. }
    11. //Получение списка запущенных процессов
    12. $stream = ssh2_exec($ssh, 'qstatistics 2');
    13. stream_set_blocking( $stream, true );
    14. while (!feof($stream)) {
    15.     $date .= fread( $stream, 4096 );
    16. }
    17. ?>
    18.  
     
  2. shurastik

    shurastik Активный пользователь

    С нами с:
    22 фев 2008
    Сообщения:
    285
    Симпатии:
    0
    Адрес:
    Латвия
    у top-а вроде как есть ключ кол-во итераций
     
  3. YaRosh

    YaRosh Активный пользователь

    С нами с:
    6 июл 2009
    Сообщения:
    8
    Симпатии:
    0
    Да, спасибо. :D
    Утилиту top, я привел как пример, чтобы понятно было. Только в утилите qstatistics нельзя указать кол-во интераций. Все бы ничего, из top данные выдерал бы, но qstatistics выводит еще кучу другой необходимой информации кроме самих процессов, т.к. идет в комплекте с программным комплексом...