0
私はPowerShellでスクリプトを実行しようとしています。ループ内でいくつかのJavaコードを実行する必要があります。だから私は実行します。タイムアウトを使用してJavaアプリケーションを実行
while(something){
java my_program
}
しかしmy_program
には時間がかかり、私はタイムアウトを設定したいと思います。これどうやってするの?
私はPowerShellでスクリプトを実行しようとしています。ループ内でいくつかのJavaコードを実行する必要があります。だから私は実行します。タイムアウトを使用してJavaアプリケーションを実行
while(something){
java my_program
}
しかしmy_program
には時間がかかり、私はタイムアウトを設定したいと思います。これどうやってするの?
あなたはこのような何かを試みることができる:あなたがループ条件ながら置くことができ、私はこのコードはあなたのために正常に動作するとは思わ
while($something){
$p = [diagnostics.process]::start("java my_program")
if (! $p.WaitForExit(1000))
{
$p.kill()
}
}
を、
public class JavaTimeout {
public void myMethod(){
long startTime = System.currentTimeMillis(); // put the start time
while((System.currentTimeMillis() - startTime) < 5000) // if if 5 second end
{
// your method do something here
}
System.out.println("5 sec end..."); // print the timeout
} // end myMethod method
} // end JavaTimeout Class
私はホープことができます。..
コードを説明してください。これは基本的にコードダンプです。 –
@rabbitguy私はこのコードは何の説明も必要ないと思っています...しかし、新しいプロセスでjavaアプリケーションを起動し、そのプロセスを '$ p'に割り当てます。それから、プロセスが完了するまでに1000ミリ秒待って、この時間内に完了しなければ終了します... –
なぜ$ p = diagnostics.process] :: start( "C:/ etc .../java.exe "、" package/my_programm "は動作していませんか? – 77140B