JavaProcess.waitFor()方法怎么样?很多新手对此不是很清楚。为了帮助大家解决这个问题,下面小编就详细讲解一下。需要的人可以从中学习,希望你能有所收获。
00-1010流程。waitfor()方法将导致当前线程等待,直到对象的进程结束,然后返回调用。
如果需要,00-1010 Java . lang . Process . wait for()方法将导致当前线程等待,直到process对象表示的进程终止。如果子进程已经终止,此方法将立即返回。如果子进程尚未终止,调用线程将被阻塞,直到子进程退出。
Java Process.waitFor()方法
下面是java.lang.Process.waitFor()方法的声明。
publicationintwaitfor()
描述
NA
00-1010此方法返回的退出值的过程。按照惯例,0表示正常终止。
声明
北美
参数
以下示例说明了如何使用lang。Process.waitFor()方法。
package com . yii Bai;
publicclassProcessDemo{
publicationstatinvitmain(String[]args){ 0
尝试{
//creatanewprocess
system . out . println(' creating process . ');
Processp=Runtime.getRuntime()。exec(' notepad . exe ');
//原因thissprocesstostopuntil processinsteinded
p . WaitFor();
//when youmanuallylosenotepad . exeprogramming continue her
system . out . println(' waiting over '));
} catch(Exceptionex){ 0
ex . printstacktrace();
}
}
}编译运行结果:
创建流程.
等待结束。
返回值
最近,当视频需要转码为ffmpeg并与cmd一起运行时,需要在cmd成功运行后进行操作。百度都说用waitfor()方法,但它总是一晃而过,没有起到等待完成的作用。
process process=Runtime . GetRuntime()。exec(' cmd/cstarnotepad . exe ');
process . WaitFor();Java的运行时。getruntime()。exec (commandstr)可以调用执行cmd指令。
Cmd /c dir是在执行dir命令后关闭命令窗口。
Cmd /k dir是一个在执行dir命令后不会关闭的命令窗口。
Cmd /c start dir将打开一个新窗口,然后执行dir命令,原窗口将关闭。
Cmd /k start dir会打开一个新窗口,然后执行dir命令,原来的窗口不会关闭。
在此代码中为process . WaitFor();没用。
在notepad.exe呼叫结束之前,以下代码继续运行。
原来是因为在执行中使用了start。
因此,process.waitFor()正在等待命令行窗口打开exe。
如果删除start这个词,您将等待exe结束,程序继续执行。
阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/144819.html