在另一个java进程的Windows控制台中运行java进程
问题描述:
我想从我的Java进程启动另一个Java进程。问题是我希望Windows控制台出现,另一个应用程序要写入该控制台。在另一个java进程的Windows控制台中运行java进程
此Java代码段确实启动了一个新进程,但控制台未显示。
ProcessBuilder pb = new ProcessBuilder("cmd", "/k", "java", "-jar", "AnotherApp.jar");
pb.start();
如果从我做起运行 - 运行
cmd /k java -jar AnotherApp.jar
然后创建一个新的控制台和java进程启动。
答
尝试以下方法:
ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "start", "java", "-jar", "AnotherApp.jar");
答
另一种选择。
String cmd[]={"cmd", "/c", "start", "java", "-jar", "AnotherApp.jar"};
Runtime rt=Runtime.getRuntime();
Process p=rt.exec(cmd);
你可以得到p的输出流(这将作为输入流读取给你)并打印到任何控制台。
'java.io.IOException:无法运行程序“开始”:CreateProcess错误= 2,系统找不到指定的文件 位于java.lang.ProcessBuilder.start(未知源)' –
更新了答案,试试这个版本,请。 – tcb