public static int exec(String cmd) throws IOException, InterruptedException {
Process p = Runtime.getRuntime().exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(p
.getInputStream(), "utf-8"));
String inline;
while ((inline = br.readLine()) != null) {
logger.info(inline);
}
br.close();
BufferedReader error = new BufferedReader(new InputStreamReader(p
.getErrorStream(), "utf-8"));
String err;
while ((err = error.readLine()) != null) {
logger.info(err);
}
error.close();
int result = p.waitFor();
logger.info(cmd + " finished. result=" + result);
return result;
}