В предыдущей главе было показано как открывать полноценную сессию командной оболочки с присоединенным терминалом и без. Если же необходимо выполнять удаленно команду, то в таких сложностях нет необходимости. Описываемый здесь метод пригоден лишь для исполнения удаленно одной единственной команды. В случае, если необходимо выдавать несколько команд одной строкой, следует задуматься об использовании удаленно не-интерактивной командной оболочки как объяснялось в предыдущей главе.
Исполнение команды удаленноПервым шагом при выполнении команды удаленно будет идентификация того, что удаленно открыта командная оболочка. Поэтому первым необходим канал SSH, а затем сессия SSH, которая использует этот канал:
После открытие сессии, необходимо запустить удаленно команду с помощью ssh_channel_request_exec().
Если исполняемая удаленно команда выводит данные, получить их можно с ssh_channel_read(). Эта функция возвращает прочитанное количество байт. Если данных для чтения нет, она вернет 0. Если же встретились ошибки, она вернет отрицательное значение:
После того, как будет прочитан результат выполнения удаленно команды, необходимо каналу отправить символ конца файла, закрыть его и освободить память, используемую им:
|
||
Вернуться к содержанию
|
||
Сайт создан в системе uCoz
|