Runtime.getRuntime (). Exec (cmd) wiszące

Wykonuję polecenie, które zwraca mi numer wersji pliku; 'Nazwa pliku'. Ale jeśli wystąpi jakiś problem z wykonaniem polecenia, aplikacja się rozłączy. Co mogę zrobić, aby uniknąć tego warunku? Znajdź poniżej mojego kodu.

String cmd= "cmd /C si viewhistory --fields=revision --project="+fileName; 
Process p = Runtime.getRuntime().exec(cmd) ;  
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));  
String line = null; 
while ((line = in.readLine()) != null) {  
System.out.println(line);  
} 

} catch (Exception e) {  
e.printStackTrace();  
 }

questionAnswers(2)

yourAnswerToTheQuestion