process.waitFor()


waitFor:等待子进程执行结束,或者已终止子进程,此方法立即返回。
当RunTime对象调用exec方法后,jvm会创建一个子进程,该子进程与jvm建立三个管道连接:标准输入流、标准输出流、标准错误流。假设该子进程不断向标准输入流、标准输出流写数据,而jvm不读取的话,会导致缓冲区塞满而无法继续写数据,最终堵塞在waitFor这里。

 

现实遇到的情况:这里要一组cmd命令通过

 

Runtime.getRuntime().exec(cmd)

 

执行,现在遇到问题是,程序上是顺序执行,但是在jvm中感觉就不是了,而是随机执行,或者说不是按照顺序执行,还在验证;

 

而且,要执行的命令似乎是连续的不能正确执行,所以现在的解决办法是写了一个脚本去执行多条命令,或者取消这些命令之间的相互依赖性。

 

 

 

 

 

 




免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM