读取stdout的ssh命令执行

问题描述:

我使用下面的代码在另一台使用ssh的服务器上运行进程。读取stdout的ssh命令执行

ssh HOST "/Desktop/hello" 

我的./hello程序使用printf打印内容。

然后我用fgets用popen来读取这些日志,但我没有收到任何东西。

所以我试图在我的终端上运行该ssh命令,结果是相同的,我没有得到任何日志记录。

我该怎么做才能看到日志?

+0

考虑使用SSH库,而不是。 – cic 2015-04-03 09:15:21

+0

您的问题的重点似乎是这个“你好”程序无法正常工作。但你没有告诉我们任何关于它的事情。它在哪里?当你运行它时,你有任何错误吗?你能发布源代码吗? – Kenster 2015-04-03 11:26:00

您可以像运行命令:

SSH主机 “/桌面/你好” >> file.log

,然后打开这个 'file.log' 与其他程序看从“你好”

日志,你可以写一些简单的代码只是打开文件描述符并读取文件的情况下,或只是

尾-f file.log

编辑:

尝试到标准错误,而不是使用标准输出,看看它的工作原理就像这样:

fprintf中(错误,“这是一个printf %d \ n“,345);

标准错误永远不需要冲洗,并可能对您有用

+0

这不起作用。我得到空的file.log – moeseth 2015-04-03 09:24:22

+0

尝试使用stderr而不是stdout,看看它是否正常工作: fprintf(stderr,“这是printf调用%d \ n”,1234); stderr永远不需要冲水,可能对你有用 – 2015-04-03 09:26:42