2015-04-03 114 views
0

我使用下面的代碼在另一臺使用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

回答

0

您可以像運行命令:

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