Java CMD进程有时在关闭命令行时打印任意输出

Java CMD进程有时在关闭命令行时打印任意输出,java,process,cmd,java.util.scanner,Java,Process,Cmd,Java.util.scanner,代码的基础是将打开一个Windows CMD终端。关闭时,有时会打印额外的输出。为什么这个额外的行(输出:U:\Java\Type Test>)只是偶尔打印 以下是代码片段: Process proc = null; String[] cmd = {"cmd", "/k", "start"}; proc = Runtime.getRuntime().exec(cmd); Scanner in = new Scanner(proc.getInputStream()).useDelimiter("

代码的基础是将打开一个Windows CMD终端。关闭时,有时会打印额外的输出。为什么这个额外的行(
输出:U:\Java\Type Test>
)只是偶尔打印

以下是代码片段:

Process proc = null;
String[] cmd = {"cmd", "/k", "start"};
proc = Runtime.getRuntime().exec(cmd);

Scanner in = new Scanner(proc.getInputStream()).useDelimiter("\\A");
BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
OutputStream os = proc.getOutputStream();
InputStream inputStream = proc.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

System.out.println("First:" + proc.isAlive());
String line, foo;
while (proc.isAlive() && in.hasNext()){
    System.out.println("Output: " + in.nextLine());
    proc.destroyForcibly();
}
通常输出:

First:true
Output: 
异常输出:

First:true
Output: 
Output: U:\Java\Type Test>

看起来提示是流程输出的一部分。。。
cmd
是否有一个选项可以跳过显示提示符?@fge U:\Java\Type Test>是提示符,但我的问题是为什么它有时只打印提示符?因为打开命令提示符
cmd
的第一个命令也是从Java使用环境检测到的命令提示符运行的<代码>运行时.getRuntime().exec()