gpt4 book ai didi

Java Runtime.exec() 异步输出

转载 作者:搜寻专家 更新时间:2023-10-31 19:30:23 27 4
gpt4 key购买 nike

我想从长时间运行的 shell 命令中获取可用的输出,而不是等待命令完成。我的代码在新线程中运行

Process proc = Runtime.getRuntime().exec("/opt/bin/longRunning");
InputStream in = proc.getInputStream();
int c;
while((c = in.read()) != -1) {
MyStaticClass.stringBuilder.append(c);
}

这个问题是我在/opt/bin/longRunning 中的程序必须在分配和读取 InputStream 之前完成。有什么好的方法可以异步执行此操作吗?我的目标是 ajax 请求将返回当前值 MyStaticClass.stringBuilder.toString()每秒左右。

我卡在 Java 5 上了,仅供引用。

谢谢!W

最佳答案

试试Apache Common Exec .它具有异步执行进程然后将输出“泵送”到线程的能力。检查Javadoc了解更多信息

关于Java Runtime.exec() 异步输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7757942/

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