我想执行一个简单的命令,它可以在 shell 中工作,但不能在 Java 中工作。这是我要执行的命令,效果很好:
soffice -headless "-accept=socket,host=localhost,port=8100;urp;"
这是我从 Java 中执行的代码,试图运行这个命令:
String[] commands = new String[] {"soffice","-headless","\"-accept=socket,host=localhost,port=8100;urp;\""};
Process process = Runtime.getRuntime().exec(commands)
int code = process.waitFor();
if(code == 0)
System.out.println("Commands executed successfully");
当我运行这个程序时,我得到“命令执行成功”。但是,当程序完成时,该进程没有运行。JVM是否有可能在程序运行后将其杀死?
为什么这不起作用?