java 调用exe程序挂起

ifso 发布于 2015/07/23 16:53
阅读 540
收藏 0

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

在网上查了,说在调用完bat文件,等在执行结果waitFor之前处理掉错误流和输出流,
这样做了还不会挂起。最近在做一个java工具,java多线程执行bat文件,
每个bat文件又会调用两个exe文件(

```
 a.exe | b.exe
```

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

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

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

加载中
0
ifso
ifso
问题调查出来了,原因是:
调用的两个exe限定只能在windows server环境上运行。
返回顶部
顶部