gpt4 book ai didi

java - 使用 Java Runtime.exec 在 Ubuntu 中通过终端触发命令

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

这在 Windows 中相当简单,但在 Linux 中有点棘手。我正在使用

Runtime.getRuntime().exec(new String[] { "/bin/bash", "-c", "java -classpath /home/4/byz/Orc" });

其中 Orc 是具有 main 函数的类文件。但是没有任何反应。有什么设置吗?难道我做错了什么 ?

我希望java程序在终端运行。

编辑

解决方法如下:

        String[] cmdArray = {"gnome-terminal","java -classpath /home/r/byz/ Orchestrator"};

try {
Runtime.getRuntime().exec(cmdArray);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

所以基本上,我们必须使用 gnome-terminal ..

最佳答案

我相信这已经解决了,但是我会发布一个答案:

如何运行:

executeCommand(new String[]{"/bin/bash", "-c", "java -classpath /home/4/byz/Orc"});

方法:

public String executeCommand(String[] cmd) {
StringBuffer theRun = null;
try {
Process process = Runtime.getRuntime().exec(cmd);

BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
int read;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((read = reader.read(buffer)) > 0) {
theRun = output.append(buffer, 0, read);
}
reader.close();
process.waitFor();

} catch (IOException e) {
throw new RuntimeException(e);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
return theRun.toString().trim();
}

如果这有帮助,请告诉我!

关于java - 使用 Java Runtime.exec 在 Ubuntu 中通过终端触发命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9952680/

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