gpt4 book ai didi

java - 重定向输出的shell脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:01:24 25 4
gpt4 key购买 nike

我正在寻找有关将命令输出重定向到文件的 shell 脚本的帮助。我有一个 C 程序,它从串口读取输入并显示。我希望将此数据重定向到一个文件。我正在通过调用

从 Java 程序中执行此操作
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?但没有帮助。

请帮忙..

最佳答案

程序 产生了多少输出?使用标准 IO 重定向将在 stdoutfile 之间添加一个 4KB 缓冲区。这意味着在操作系统开始写入文件之前,您的程序必须输出超过 4KB 的数据。

要解决此问题,请在“工作单元”完成(可能是一行但可能不止一行)时将 stdout.flush() 添加到您的程序中。

关于java - 重定向输出的shell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8049519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com