在java程序中发送一个terminal命令

我需要编写一个Java程序,当执行一个命令到terminal

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

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

任何人都可以帮我整理一下吗?

如果你想实际启动一个终端窗口(而不只是执行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); 

请参考下面的例子。与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(); } 

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

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