java 调用exe程序挂起
最近在做一个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之前处理掉错误流和输出流,
这样做了还不会挂起。
请问大神,问题会出在哪里,怎么解决。。。万分感谢!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题调查出来了,原因是:
调用的两个exe限定只能在windows server环境上运行。