使用ProcessBuilder运行命令可以规定时间吗?有人这样:
ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", "dir /s");
Process p = builder.start();
此代码可以保持运行很长时间,例如,我想分隔1秒。我认为放入一些线程并在此之后破坏过程,但是,它可以强制一些时间吗?
感谢。
答案 0 :(得分:1)
您可以在一个单独的线程中启动该进程,休眠1秒然后您可以终止该进程。
new Thread(new Runnable() {
public void run() {
ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", "dir /s");
Process p = builder.start();
Thread.sleep(1000);
p.destroy();
}
}).start();
答案 1 :(得分:1)
Process p = builder.start();
TimeUnit.SECONDS.sleep(someTime); // Whatever time you want to wait
if (p.isAlive()) p.destroyForcibly();
您无法强制通过Process API