gpt4 book ai didi

java - 从 Java 运行 bash

转载 作者:行者123 更新时间:2023-11-30 04:56:47 25 4
gpt4 key购买 nike

我想做一些类似的事情。

    Process shell = Runtime.getRuntime().exec("/bin/bash");

然后我想使用 shell 进程的流与 bash shell 进行通信。然而这似乎根本不起作用,它完全难住了我。

我找到了这个link这似乎在谈论同样的问题。为什么会发生这种情况?是否有比链接中概述的更好的解决方案?

最佳答案

可能有必要将写入从 JVM 刷新到子进程,以确保其获取输入。 IIRC 我不需要在 Windows 上执行此操作,但在 Linux 上执行此操作。我还遇到了一些问题,我必须强制子进程刷新写入,以便 JVM 也能立即看到它们。

此外,在执行任何操作之前,请确保 JVM 线程从 stdout 和 stderr 读取数据,如果这些缓冲区中的任何一个已满,则可能会锁定进程。这在 Windows 上是一个大问题。如果您在启动进程时使用组合流的选项,则只需要一个线程。

另外,你的例子(上面)没有换行符,bash 不需要换行符吗?例如“触摸等等\n”

关于java - 从 Java 运行 bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8295511/

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