java 调用exe程序挂起

发布于 2021-11-25 18:39:54 字数 691 浏览 783 评论 1

最近在做一个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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

乞讨 2021-11-26 14:37:08

问题调查出来了,原因是:

调用的两个exe限定只能在windows server环境上运行。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文