我正在尋找一個關於shell腳本將命令的輸出重定向到文件的幫助。我有一個C程序,用於讀取串口和顯示器的輸入。我希望將這些數據重定向到一個文件。我從一個Java程序通過調用shell腳本重定向輸出
Runtime r = Runtime.getRuntime();
Process procObj = r.exec("sh " + scriptfile);
我曾嘗試寫劇本文件
./program >> file.txt
的file.txt的執行,這是不會得到更新。在這裏,程序不會結束,直到端口連接丟失,從某種意義上說,它是無限運行的。所以我的程序不斷地在端口上查找數據,並在它出現時顯示它們。 我只需要將相同的輸出重定向到我將用作日誌的文件。 我看着How to make shell output redirect (>) write while script is still running?但沒有幫助。
請幫助..
請教這個答案:http://stackoverflow.com/questions/8007871/how-to-run-a-perl-file-using-java/8008156#8008156 – bpgergo
我很抱歉,我cud不明白哪一部分上面的鏈接適用於我的問題。我可以調用腳本文件並執行它。如果我給出一個正常的回聲命令,它會起作用,並且輸出會很好地重定向到文件。正如我所說的,我的C程序永遠不會結束,輸出需要在文件中不斷更新。 –
但是,當程序終於終止時,文件*得到*更新,不是嗎? – jpalecek