首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何等待进程完成

如何等待进程完成
EN

Stack Overflow用户
提问于 2013-07-17 19:11:10
回答 4查看 300关注 0票数 0

我是一名c++工程师,所以请温文点!我有一些启动进程的Java代码,但我想要做的是暂停执行,直到新进程完成。

我如何在Java中做到这一点?

谢谢

EN

回答 4

Stack Overflow用户

发布于 2013-07-17 19:12:47

假设您有一个表示新创建的进程的Process对象,请使用Process.waitFor(),它:

如果有必要,

会使当前线程等待,直到此process对象所代表的进程终止。如果子进程已经终止,此方法将立即返回。如果子进程尚未终止,则调用线程将被阻塞,直到子进程退出。

可以从以下位置获取Process对象:

  • ProcessBuilder.start()
  • Runtime.exec() (其中有几个重载)。
票数 4
EN

Stack Overflow用户

发布于 2013-07-17 19:13:19

如果“java.lang.Process”是由java.lang.Runtime获得的进程,则使用Process.waitFor()

出于完整性的考虑:在Java语言中,通常使用线程,等待线程的选项是调用thread.join()

票数 2
EN

Stack Overflow用户

发布于 2013-07-17 19:17:17

Read the stream from Process。它将等待进程完成,然后再执行其余代码。

代码语言:javascript
运行
复制
Process p = Runtime.getRuntime().exec("your command(process)", null, new File("path of process where to execute"));
    InputStream is=p.getInputStream();
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    String line = reader.readLine();
    while (line != null) {
      line = reader.readLine();
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17698252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档