0
をI有しouputをプロセスとしてコマンドを実行し、返し、以下の方法:はしばらく後に、Javaでスレッド/プロセスを参加 - ジャワ
public String execute(String command) {
StringBuffer output = new StringBuffer();
Process p;
try {
p = Runtime.getRuntime().exec(command);
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = reader.readLine()) != null) {
output.append(line + "\n");
}
} catch (Exception e) {
logger.error(e.getMessage());
}
return output.toString();
}
このコードはいつでもコマンド戻り、しかし大きいとtop
のような実行中のプロセスに対しては、これは決して戻ってこないかもしれません。コードは継続して実行する必要はありません。スナップショットをキャプチャする必要があるだけで、3秒などの時間が経過するとタイムアウトする可能性があります。どうすればそれを達成できますか?