java 调用exe程序挂起

最近在做一个java工具,java多线程执行bat文件,
每个bat文件又会调用两个exe文件(

 a.exe | b.exe

)。
每一个线程单独执行一个bat文件。线程执行bat文件。
因为数据量很大,活执行很多次bat文件(几万次吧)。
当执行到某一个bat的时候,调用的某一个exe好像会阻塞,
使全部的exe都挂起(进程存在,不占用cpu,好像死了一样)。
如果结束java程序的话,挂起的exe会继续执行完。

在网上查了,说在调用完bat文件,等在执行结果waitFor之前处理掉错误流和输出流,
这样做了还不会挂起。

请问大神,问题会出在哪里,怎么解决。。。万分感谢!!!

2个回答

版权声明:转载时请务必保留以下作者信息和链接作者:陈维(chenweionline@hotmail.com)作者的网站:http://www.chenwei.mobi我们的 Java 程序中有时候需要调用程序自身以外的一些程序,来完成某些计算。那么这个时候可以使用 ProcessBuilder.start() 或 Runtime.exec方法,并返回 Process 子类的一个实例,该实例可用......
答案就在这里:Java 程序调用 exe
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

你这启动几万次exe有点没有必要啊,为什么不把一些信息放入队列,然后java中开几个线程专门调用a.exe和b.exe来处理。
你这个问题还要先分析到底出现在什么地方,但是这么几万次反复启动很容易导致系统资源耗尽,或者exe一旦死锁就会出问题

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问