c++ - 在 C++ 中通过 ssh 远程发送 shell 命令

标签 c++ ssh raspberry-pi pwm

我想打开一个 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”。在那种情况下,您也许可以从这个例子开始。

fork() and pipes() in c

关于c++ - 在 C++ 中通过 ssh 远程发送 shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22892143/

相关文章:

c++ - C++草案中的单词包是什么?

c++ - C++ 中的自定义事件监听器

c++ - 使用 Rcpp 查找重复项

php - 无法在我的工作开发机器上远程访问 MySQL

python - 通过SSH的Pygame不注册按键(Raspberry Pi 3)

c++ - 使用指向 typedef 固定长度数组的指针执行 memcpy 时是否需要取消引用?为什么或者为什么不?

ssh - Phpstorm 9 ssh session 身份验证取消

windows - 如何在 Windows 上运行 ssh-add?

Mono 中的 DateTime.ToString 返回无效日期 ("00/734718/0001 01:41:38")

python - 当 OpenCV 检测到正图像时,处理时间非常长