java执行命令行出现问题

Runtime.getRuntime().exec("cmd /c E:\silkdecoder\windows\silk_v3_decoder.exe E:\1.silk E:\1.pcm");
Runtime.getRuntime().exec("cmd /c E:\ffmpeg\bin\ffmpeg.exe -y -f s16le -ar 24000 -ac 1 -i E:\1.pcm E:\1.mp3");

上述代码放在测试类中是正常的,但是放在一个http请求的controller处理中,出现了只有5秒音频产生(ps:正常的是10秒钟)

可能是还没执行完就关闭了

但是为什么使用main方法执行测试是可以得呢?

exec 使用会有出现bug的情况,大体与流有关,如果线程内的流过多(具体多到什么程度我也不知)就会出现异常,,,,【用测试类一般测不出来,因为场景不一样(主要是说我自己还没测出来)】,建议 为exec单独开个线程试试!!!