欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java Process.waitFor()方法詳解

 更新時間:2021年12月13日 17:00:27   作者:qq_20252351  
這篇文章主要介紹了Java Process.waitFor()方法詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Java Process.waitFor()方法

Process.waitFor()方法 將導致當前線程等待,直到該對象的進程結(jié)束,才返回調(diào)用。

描述

java.lang.Process.waitFor()方法將導致當前的線程等待,如果必要的話,直到由該Process對象表示的進程已經(jīng)終止。此方法將立即返回,如果子進程已經(jīng)終止。如果子進程尚未終止,則調(diào)用線程將被阻塞,直到子進程退出。

聲明

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

public abstract int waitFor()

參數(shù)

  • NA

返回值

此方法返回的退出值的過程。按照慣例,0表示正常終止。

異常

  • NA

實例

下面的例子說明了如何使用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();
      } 
   }
}

編譯運行結(jié)果:

Creating Process...

Waiting over.

process.waitFor()沒有作用

最近在遇到關于視頻需要轉(zhuǎn)碼 用到ffmpeg 使用cmd運行時,需要在cmd運行成功后進行操作,百度都說使用waitfor()方法,但是總是一閃而過, 沒有起到等待完成的作用..

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

java的Runtime.getRuntime().exec(commandStr)可以調(diào)用執(zhí)行cmd指令。

  • cmd /c dir 是執(zhí)行完dir命令后關閉命令窗口。
  • cmd /k dir 是執(zhí)行完dir命令后不關閉命令窗口。
  • cmd /c start dir 會打開一個新窗口后執(zhí)行dir指令,原窗口會關閉。
  • cmd /k start dir 會打開一個新窗口后執(zhí)行dir指令,原窗口不會關閉。

這個代碼中的process.waitFor();并沒有起到作用

后面的代碼在調(diào)用的notepad.exe還沒結(jié)束就繼續(xù)運行了,

結(jié)果發(fā)現(xiàn)是因為在exec里面用了start

這樣的后果是process.waitFor()等待的是一個一閃而過的用來打開exe的命令行窗口而已.

去掉start這個詞,就會等到exe結(jié)束程序在繼續(xù)執(zhí)行了。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關文章

  • Spring?Boot實現(xiàn)消息的發(fā)送和接收使用實戰(zhàn)指南

    Spring?Boot實現(xiàn)消息的發(fā)送和接收使用實戰(zhàn)指南

    這篇文章主要為大家介紹了Spring?Boot實現(xiàn)消息的發(fā)送和接收使用實戰(zhàn)指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • Java 基礎語法之解析 Java 的包和繼承

    Java 基礎語法之解析 Java 的包和繼承

    包是組織類的一種方式,繼承顧名思義,比如誰繼承了長輩的產(chǎn)業(yè),其實這里的繼承和我們生活中的繼承很類似,下面文字將為大家詳細介紹Java的包和繼承
    2021-09-09
  • Java中淺拷貝與深拷貝實例解析

    Java中淺拷貝與深拷貝實例解析

    這篇文章主要給大家介紹了關于Java中淺拷貝與深拷貝的相關資料,拷貝對象是java中經(jīng)常會遇到的問題,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-09-09
  • SpringMVC Hibernate與JPA使用教程

    SpringMVC Hibernate與JPA使用教程

    這篇文章主要介紹了SpringMVC Hibernate與JPA,在正式進入Hibernate的高級應用之前,需要了解聲明是數(shù)據(jù)模型與領域模型,這兩個概念將會幫助我們更好的理解實體對象的關聯(lián)關系映射
    2022-12-12
  • SpringBoot 統(tǒng)一請求返回的實現(xiàn)

    SpringBoot 統(tǒng)一請求返回的實現(xiàn)

    這篇文章主要介紹了SpringBoot 統(tǒng)一請求返回的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Java 類加載過程與類加載器詳細介紹

    Java 類加載過程與類加載器詳細介紹

    這篇文章主要介紹了Java 類加載過程與類加載器詳細介紹,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • Mybatis-Plus實現(xiàn)自動生成代碼的操作步驟

    Mybatis-Plus實現(xiàn)自動生成代碼的操作步驟

    AutoGenerator 是 MyBatis-Plus 的代碼生成器,通過 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各個模塊的代碼,極大的提升了開發(fā)效率,本文將給大家介紹Mybatis-Plus實現(xiàn)自動生成代碼的操作步驟
    2023-10-10
  • Java Cache詳解及簡單實現(xiàn)

    Java Cache詳解及簡單實現(xiàn)

    這篇文章主要介紹了 Java Cache詳解及簡單實現(xiàn)的相關資料,需要的朋友可以參考下
    2017-02-02
  • Java如何提供給第三方使用接口方法詳解

    Java如何提供給第三方使用接口方法詳解

    最近在做一個項目,因一些機制問題,需要我用java代碼調(diào)用第三方接口,下面這篇文章主要給大家介紹了關于Java如何提供給第三方使用接口方法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • Springboot actuator應用后臺監(jiān)控實現(xiàn)

    Springboot actuator應用后臺監(jiān)控實現(xiàn)

    這篇文章主要介紹了Springboot actuator應用后臺監(jiān)控實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04

最新評論