I_Teddy 2014-11-05 10:56
浏览 720

java程序调用DOS命令有问题

我在使用java运行一个dos命令时候出现了一个问题:

该dos命令见如下代码中的command字符串,将该字符串敲入命令行界面运行良好,其中dtm-win32是一个可执行程序,后面跟着的是这个程序的诸多参数。这个可执行程序通常需要运行20分钟左右。

我想在java程序中运行该可执行程序,但是出现一个奇怪的现象:java程序成功启动了该可执行程序,但过了几秒钟后,这个可执行程序就阻塞了,当我终止了java程序后,该可执行程序后恢复了运行,而且每次都是这样,如果有人碰到类似的问题,希望可以帮我解决。
我的java程序如下(try catch段就不放上来了):

String command = "dtm-win32
                  --ntopics 20 
                  --mode fit 
                  --rng_seed 0 
                  --initialize_lda true 
                  --corpus_prefix test 
                  --outname model_run 
                  --top_chain_var 0.005 
                  --alpha 0.01 
                  --lda_sequence_min_iter 6 
                  --lda_sequence_max_iter 20 
                  --lda_max_em_iter 10";
Process process = Runtime.getRuntime().exec(command);
BufferedReader br = new BufferedReader(newInputStreamReader(process.getInputStream()));
while((s = br.readLine()) != null) {
    System.out.println(s);
}
br.close();
process.waitFor();
  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 程序不包含适用于入口点的静态Main方法
    • ¥15 素材场景中光线烘焙后灯光失效
    • ¥15 请教一下各位,为什么我这个没有实现模拟点击
    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 ubuntu子系统密码忘记