本文主要介绍JavaProcess.waitFor()方法的详细说明,具有很好的参考价值。希望对大家有帮助。如有错误或不足之处,请不吝赐教。
目录
Java Process.waitFor()方法描述声明参数返回值异常实例Process.waitFor()无效。
Java Process.waitFor()方法
Process.waitFor()方法将导致当前线程等待,直到该对象的进程结束,然后返回调用。
描述
如有必要,java.lang.Process.waitFor()方法将使当前线程等待,直到由该Process对象表示的进程终止。如果子进程已经终止,该方法将立即返回。如果子进程没有被终止,调用线程将被阻塞,直到子进程退出。
声明
下面是java.lang.Process.waitFor()方法的声明。
public abstract int waitFor()
参数
钠
返回值
此方法返回的退出值的过程。按照惯例,0表示正常终止。
异常
钠
实例
以下示例显示了如何使用lang。Process.waitFor()方法。
包com . yii Bai;
公共类进程演示{
公共静态void main(String[] args) {
尝试{
//创建新进程
System.out.println('创建进程.');
Process p=Runtime.getRuntime()。exec(' notepad . exe ');
//使该进程停止,直到进程p终止
p . wait for();
//当您手动关闭notepad.exe时,程序将在这里继续
System.out.println('等待结束。);
} catch (Exception ex) {
ex . printstacktrace();
}
}
}
编译结果:
创建过程.
等待结束。
process.waitFor()没有作用
最近遇到视频需要转码,ffmpeg使用cmd运行的问题,需要在cmd运行成功后进行操作。百度都说用waitfor()方法,但是总是一闪而过,没有起到等待完成的作用。
process process=runtime . get runtime()。exec('cmd /c启动notepad . exe ');
process . wait for();
Java的runtime.getruntime()。exec (commandstr)可以调用来执行cmd指令。
Cmd /c dir是在执行dir命令后关闭命令窗口。
Cmd /k dir是执行dir命令后不会关闭的命令窗口。
Cmd /c start dir会打开一个新窗口并执行dir命令,原来的窗口会关闭。
Cmd /k start dir会打开一个新窗口并执行dir命令,但不会关闭原来的窗口。
此代码中的process . wait for();没用。
在notepad.exe调用完成之前,下面的代码继续运行,
原来exec里用的是start。
这样做的结果是process.waitFor()只需等待命令行窗口闪烁就可以打开exe。
如果去掉start这个词,就会一直等到exe结束,程序继续执行。
以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。