2016-08-18 5 views
0

ProcessBuilderでコマンドを実行する際の規定時間は可能ですか?このコードは、長時間走っていても構いません。例えば、1秒間に区切りたいと思います。私はいくつかのスレッドの中に入れて、この時間の後にプロセスを破壊すると思うが、それはいくつかの時間を強制することは可能ですか?プロセスビルダーでの規定時間java

ありがとうございました。

答えて

1
Process p = builder.start(); 
TimeUnit.SECONDS.sleep(someTime); // Whatever time you want to wait 
if (p.isAlive()) p.destroyForcibly(); 

あなたは、プロセスのAPIを介して、それを強制することはできません

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(); 
関連する問題