如何用libssh读取输出行

时间:2016-01-30 10:44:20

标签: linux ssh libssh

在ssh cli中,我可以:

ssh root@localhost -t aria2c https://github.com/JetBrains/intellij-community/archive/master.zip

它现在将显示进度,如:

ssh root@localhost -t aria2c https://github.com/JetBrains/intellij-community/archive/master.zip
[#346e52 256KiB/416MiB(0%) CN:1 DL:262KiB ETA:27m6s]

但是在libssh中,当我运行

ssh_channel_request_exec(channel, "aria2c https://github.com/JetBrains/intellij-community/archive/master.zip")

控制台中没有任何输出显示,是否有ssh_channel_readline来执行此操作?

1 个答案:

答案 0 :(得分:-1)

我发现这是aria2c的原因,如果我运行代码

ssh_channel_request_exec(channel, "apt-get update")

它将逐行提高输出