从java程序在终端中触发命令

时间:2012-05-07 11:58:14

标签: java linux shell

我需要编写一个java程序,在执行时将命令推送到终端

我尝试使用runtime.exec();但对我来说效果不好

我想要的是“/ home / raj / Desktop / java -jar test.jar”将在终端中执行

任何人都可以帮我解决。

3 个答案:

答案 0 :(得分:7)

如果你想真正启动一个终端窗口(而不仅仅是执行java进程),你需要启动xterm(或类似的东西)并告诉xterm运行java例如

String command= "/usr/bin/xterm -e /home/raj/Desktop/java -jar test.jar"; 
Runtime rt = Runtime.getRuntime();      
Process pr = rt.exec(command);

答案 1 :(得分:1)

请参阅以下示例.with java程序的参数列表。

Process proc = null;
try {
    String cmd[] = {"gnome-terminal", "-x", "bash", "-c", "ls; echo '<enter>'; read" };


    proc = Runtime.getRuntime().exec(cmd, null, wd);
} catch (IOException e) {
    e.printStackTrace();
}

答案 2 :(得分:1)

您可以使用jar文件的完整路径作为"java"

的参数
String command= "java -jar /home/raj/Desktop/test.jar"; 
Runtime rt = Runtime.getRuntime();      
Process pr = rt.exec(command);