57 lines
1.6 KiB
Java
57 lines
1.6 KiB
Java
package com.ruoyi.common.utils;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import java.io.BufferedReader;
|
|
import java.io.IOException;
|
|
import java.io.InputStreamReader;
|
|
|
|
@Slf4j
|
|
public class ShellCmd {
|
|
|
|
|
|
public static boolean runCommand(String cmd) {
|
|
try {
|
|
Process process = Runtime.getRuntime().exec(cmd);
|
|
int status = process.waitFor();
|
|
String msg = readMsg(process);
|
|
if (status == 0) {
|
|
log.info("Success cmd " + cmd + " status:" + status + "\r\n" + msg);
|
|
return true;
|
|
} else {
|
|
log.error("Failed cmd " + cmd + " status:" + status + "\r\n" + msg);
|
|
return false;
|
|
}
|
|
} catch (Exception e) {
|
|
log.error("Exception cmd " + cmd + "\r\n" + e.getMessage());
|
|
}
|
|
return false;
|
|
}
|
|
|
|
|
|
public static String readMsg(Process process) {
|
|
BufferedReader input = null;
|
|
StringBuffer buffer = new StringBuffer();
|
|
try {
|
|
input = new BufferedReader(new InputStreamReader(process.getInputStream()));
|
|
String line = "";
|
|
|
|
while ((line = input.readLine()) != null) {
|
|
buffer.append(line).append("\r\n");
|
|
}
|
|
return buffer.toString();
|
|
} catch (Exception e) {
|
|
log.error(null,e);
|
|
} finally {
|
|
try {
|
|
if (input != null) {
|
|
input.close();
|
|
}
|
|
} catch (IOException e) {
|
|
log.error(null,e);
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
}
|