簡體   English   中英

規定的時間在ProcessBuilder的Java

[英]stipulated time in processbuilder java

在ProcessBuilder中運行命令時可以指定時間嗎? 像這樣:

 ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", "dir /s");
 Process p = builder.start();

此代碼可以長時間運行,例如,我想定界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();
Process p = builder.start();
TimeUnit.SECONDS.sleep(someTime); // Whatever time you want to wait
if (p.isAlive()) p.destroyForcibly();

您無法通過Process API強制執行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM