gpt4 book ai didi

java - 从 JVM 的 getRuntime.exec() 运行时找不到进程

转载 作者:搜寻专家 更新时间:2023-11-01 02:56:20 25 4
gpt4 key购买 nike

我正在尝试从 Eclipse 中运行以下代码:

Process process = Runtime.getRuntime().exec("gs");

但是我得到了异常:

java.io.IOException: Cannot run program "gs": error=2, No such file or directory

从命令提示符 (OS X) 运行 gs 可以在我的 PATH 上的任何目录中正常运行。似乎 eclipse 不知道我的路径环境变量,即使我已经进入运行配置并在环境选项卡上选择了 PATH。

为了调试此问题,我尝试了以下代码:

Process process = Runtime.getRuntime().exec("echo $PATH");
InputStream fromStdout = process.getInputStream();
byte[] byteArray = IOUtils.toByteArray(fromStdout);
System.out.println(new String(byteArray));

输出是 $PATH,嗯。有人可以将我推向正确的方向吗?

最佳答案

您假设 exec() 使用 shell 来执行您的命令(echo $PATH 是一个 shell 命令);为了简单起见,您可以使用 System.getenv() 查看您的 $PATH:

    System.out.println(System.getenv("PATH"));

编辑

通常 Runtime.exec() 更好更灵活的替代方法是 ProcessBuilder类。

关于java - 从 JVM 的 getRuntime.exec() 运行时找不到进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/783473/

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