我想打开一个 ssh session 到我的 Raspberry Pi 并在我想要的时间运行简单的命令 echo 0=+10 >/dev/servoblaster
(意味着不使用 system("ssh pi@192.168.1.5 echo 0=+10 >/dev/servoblaster")
因为再次运行 ssh 需要时间)。 C++ 中最简单的方法是什么?
最佳答案
假设您只需要单向通信,使用 FILE *ssh = popen("ssh pi@192.168.1.5", "w")
而不是 system< 打开 ssh 连接
。这会给你一个句柄来写,例如fprintf(ssh, "echo 0=%#d >/dev/servoblaster", 10);
。然后 ssh 连接可用,直到您稍后 pclose(ssh);
为止。
如果需要回读,则需要打开管道的两侧,这需要“适当的fork
jobbie”。在那种情况下,您也许可以从这个例子开始。
关于c++ - 在 C++ 中通过 ssh 远程发送 shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22892143/