ローカル ホストでコマンドを実行するために使用している方法があります。メソッドにタイムアウト パラメータを追加して、呼び出されたコマンドが妥当な時間内に終了しない場合にメソッドがエラー コードを返すようにしたいと考えています。これまでのところ、タイムアウトする機能がない場合は次のようになります。
public static int executeCommandLine(final String commandLine,
final boolean printOutput,
final boolean printError)
throws IOException, InterruptedException
{
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec(commandLine);
if (printOutput)
{
BufferedReader outputReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
System.out.println("Output: " + outputReader.readLine());
}
if (printError)
{
BufferedReader errorReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
System.out.println("Error: " + errorReader.readLine());
}
return process.waitFor();
}
タイムアウトパラメータを実装する良い方法を誰かが提案できますか?