文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

JavaProcess.waitFor()方法详解

2024-04-02 19:55

关注

Java Process.waitFor()方法

Process.waitFor()方法 将导致当前线程等待,直到该对象的进程结束,才返回调用。

描述

java.lang.Process.waitFor()方法将导致当前的线程等待,如果必要的话,直到由该Process对象表示的进程已经终止。此方法将立即返回,如果子进程已经终止。如果子进程尚未终止,则调用线程将被阻塞,直到子进程退出。

声明

以下是java.lang.Process.waitFor()方法的声明


public abstract int waitFor()

参数

返回值

此方法返回的退出值的过程。按照惯例,0表示正常终止。

异常

实例

下面的例子说明了如何使用lang.Process.waitFor()方法。


package com.yiibai; 
public class ProcessDemo { 
   public static void main(String[] args) {
      try {
         // create a new process
         System.out.println("Creating Process...");
         Process p = Runtime.getRuntime().exec("notepad.exe");
 
         // cause this process to stop until process p is terminated
         p.waitFor();
 
         // when you manually close notepad.exe program will continue here
         System.out.println("Waiting over.");
 
      } catch (Exception ex) {
         ex.printStackTrace();
      } 
   }
}

编译运行结果:

Creating Process...

Waiting over.

process.waitFor()没有作用

最近在遇到关于视频需要转码 用到ffmpeg 使用cmd运行时,需要在cmd运行成功后进行操作,百度都说使用waitfor()方法,但是总是一闪而过, 没有起到等待完成的作用..


Process process = Runtime.getRuntime().exec("cmd /c start notepad.exe");
process.waitFor();

java的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令。

这个代码中的process.waitFor();并没有起到作用

后面的代码在调用的notepad.exe还没结束就继续运行了,

结果发现是因为在exec里面用了start

这样的后果是process.waitFor()等待的是一个一闪而过的用来打开exe的命令行窗口而已.

去掉start这个词,就会等到exe结束程序在继续执行了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯