2012-04-05 69 views
0

我有一個執行遠程命令並將輸出重定向到本地文件的腳本。通過ssh將信號從本地父節點轉發到遠程子節點

遠程命令不斷讀取pcap文件列表並寫入標準輸出。

最後一個命令是這樣的 -

ssh [email protected] /sbin/path-to-utility | cat > local-file 

其中執行該遠程命令需要具有信號處理程序,以節省整體轉移的狀態的腳本。

另外我想發送信號給遠程命令或進程,停止讀取pcap文件,以便在寫完當前文件後退出。

我試過-t選項和信號處理工作得很好,但它爲遠程命令寫入的實際輸出增加了一些額外的字符並干擾了我的pcap數據。

要麼我需要處理信號沒有-t選項通過SSH或我需要找出爲什麼ssh -t正在增加額外的字節到實際的數據。

請幫忙!

謝謝,

薩欽。

回答

0

-t選項告訴ssh分配一個終端。額外的字符旨在由您的終端解釋。

也許你應該告訴ssh你正在使用一個不同的終端,一個不會產生任何額外的字符,但仍然會傳遞信號。這是否工作?

TERM=dumb ssh [email protected] /sbin/path-to-utility | cat > local-file 

(我不知道什麼是使用TERM的最佳值。)

+0

感謝您的答覆! 我試過你的解決方案,沒有運氣! 另外我使用了不同的TERM值,比如「linux」,仍然不工作! 謝謝, Sachin – 2012-04-06 14:18:44

+0

也許'TERM ='''(兩個單引號)? – dave4420 2012-04-06 21:34:34

+0

不工作... 再次感謝! – 2012-04-09 09:11:44