我正在寻找一个关于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