读取stdout的ssh命令执行
我使用下面的代码在另一台使用ssh的服务器上运行进程。读取stdout的ssh命令执行
ssh HOST "/Desktop/hello"
我的./hello程序使用printf打印内容。
然后我用fgets用popen来读取这些日志,但我没有收到任何东西。
所以我试图在我的终端上运行该ssh命令,结果是相同的,我没有得到任何日志记录。
我该怎么做才能看到日志?
您可以像运行命令:
SSH主机 “/桌面/你好” >> file.log
,然后打开这个 'file.log' 与其他程序看从“你好”
日志,你可以写一些简单的代码只是打开文件描述符并读取文件的情况下,或只是
尾-f file.log
编辑:
尝试到标准错误,而不是使用标准输出,看看它的工作原理就像这样:
fprintf中(错误,“这是一个printf %d \ n“,345);
标准错误永远不需要冲洗,并可能对您有用
这不起作用。我得到空的file.log – moeseth 2015-04-03 09:24:22
尝试使用stderr而不是stdout,看看它是否正常工作: fprintf(stderr,“这是printf调用%d \ n”,1234); stderr永远不需要冲水,可能对你有用 – 2015-04-03 09:26:42
考虑使用SSH库,而不是。 – cic 2015-04-03 09:15:21
您的问题的重点似乎是这个“你好”程序无法正常工作。但你没有告诉我们任何关于它的事情。它在哪里?当你运行它时,你有任何错误吗?你能发布源代码吗? – Kenster 2015-04-03 11:26:00