JAVA执行多条cmd命令

发布时间:2021-10-21 08:10:47

在java中调用操作系统的程序时,可以使用java.lang.Runtime.getRuntime().exec() 来实现,但是这个方法在调用命令后就直接返回当前线程了;程序设计时,有时候需要在等待调用的系统程序完成操作后,当前线程才能做下一步操作,此时可以用类Process的方法waitFor()来实现,它会阻塞当先线程直至调用程序运行结束









  1. java.lang.Process?process?=?java.lang.Runtime.getRuntime().exec("");//执行命令生成cube??
  2. try?{??
  3. ???process.waitFor();??
  4. }?catch?(InterruptedException?e)?{??
  5. //?TODO?Auto-generated?catch?block??
  6. ???e.printStackTrace();??
  7. }??
  8. proc_stat?=?checkFileSize()???"1"?:?"3";??





[java]?view plain?copy


?print?


  1. java.lang.Process?process?=?java.lang.Runtime.getRuntime().exec("");//执行命令生成cube??
  2. try?{??
  3. ???process.waitFor();??
  4. }?catch?(InterruptedException?e)?{??
  5. //?TODO?Auto-generated?catch?block??
  6. ???e.printStackTrace();??
  7. }??
  8. proc_stat?=?checkFileSize()???"1"?:?"3";??






Process的方法waitFor()介绍,取自API文档:


waitFor


public abstract int waitFor()


???????????????????? throws InterruptedException导致当前线程等待,如果必要,一直要等到由该 Process 对象表示的进程已经终止。如果已终止该子进程,此方法立即返回。如果没有终止该子进程,调用的线程将被阻塞,直到退出子进程。?




返回:


进程的出口值。根据惯例,0 表示正常终止。?


抛出:?


InterruptedException - 如果当前线程在等待时被另一线程 中断,则停止等待,抛出 InterruptedException。




自我实践:


执行多条cmd命令


String cmd = "cmd /c G: && cd G:\projects\testProject && start ?mvn package";


Process process =?Runtime.getRuntime().exec(cmd);


process.waitFor();


process.exitValue() ;


这样可以执行多条命令。


值得注意的是:执行?start ?mvn package,会开启窗口,调用process.waitFor(),主线程不会被阻塞,而是会返回执行成功process.exitValue() == 0


将start ?mvn package中start去掉后,主线程就会阻塞,直到cmd命令开启的子进程执行完毕,然后执行主线程。









相关文档

  • json日期格式化 有个T
  • 努力就会有回报作文
  • 宝宝安全运动的注意事项有哪些
  • 最新最难猜的脑筋急转弯
  • 残疾人考驾照新规定
  • 4个秘诀看他们是如何抓住新客户的
  • 关于桌面软件的开发语言和开发框架的思考
  • 暂时不会的题整理
  • 三星s5支持联通4g吗
  • 拔智齿减少疼痛需要做好的工作 拔除智齿需知的常识
  • 非常有哲理的个性签名55句
  • 我心中的理想团队和对软件开发流程的理解
  • 书脊开胶了用什么胶粘_润德?人造草坪专用胶粘剂
  • 品牌经典汽车广告词
  • 荣耀6plus卡槽介绍
  • 适合心情不好时听的歌_适合心情烦躁时听的歌曲
  • 为什么睡觉会越睡越累呢?
  • 苹果系统的崩坏3可以在安卓上玩吗
  • 八字纳音五行对照表
  • 网购像极了爱情是什么意思网购像极了爱情是什么感受
  • 数据库和文件系统的快照snapshot
  • 萝卜丝海米汤
  • 理性思维的原则
  • Linux学习之出现无法apt-get update
  • 高光谱遥感分类与信息提取综述 高光谱遥感概念
  • 孕妇能吃甜面酱吗孕妇吃甜面酱的危害
  • 七年级历史下册第17课教案
  • 感谢同学的作文500字
  • 从百草园到三味书屋读后感4篇
  • 什么才是取得成功的上策人生哲理
  • 猜你喜欢

    电脑版