gpt4 book ai didi

java - 如何告诉 Java 运行这个 Runtime.getRuntime().exec,而不用等待它必须运行的任何命令,只需在后端运行它?

转载 作者:IT王子 更新时间:2023-10-29 00:23:20 27 4
gpt4 key购买 nike

如何让 Runtime.getRuntime().exec(p) 运行而不等待 sleep 10?目前它是错误的,它等待直到 exec 完成然后移动到下一个。在我需要运行的地方让 exec 运行,以便在 10 秒后它可以杀死 PresentationInProjector.jpg。

Example:

Runtime.getRuntime().exec("(sleep 10; echo '09|00|CC|01|83|88' | nc localhost 58888) &");
PlayThisSlideShow("PresentationInProjector.jpg");

最佳答案

根据文档 exec():

Executes the specified string command in a separate process.

因此,任何对 exec() 的调用都不应阻塞,除非您在 Runtime 的返回进程上使用了 waitFor()

下面是一个小例子(省略了异常处理):

Process p=Runtime.getRuntime().exec("cmd.exe /c ping 127.0.0.1 -n 10");

System.out.println("Here 1");//this will execute immediately

try {

p.waitFor();

System.out.println("Here 2");//this will only be seen after +- 10 seconds and process has finished

} catch (InterruptedException ex) {
ex.printStackTrace();
}

关于java - 如何告诉 Java 运行这个 Runtime.getRuntime().exec,而不用等待它必须运行的任何命令,只需在后端运行它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12668854/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com