在 Java 中调用 Linux 服务器系统命令
·
public class LinuxCommandExecutor {
public static String exec(String command) {
StringBuilder result = new StringBuilder();
try {
ProcessBuilder builder = new ProcessBuilder("/bin/sh", "-c", command);
builder.redirectErrorStream(true);
Process process = builder.start();
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream(), "UTF-8"))) {
String line;
while ((line = reader.readLine()) != null) {
result.append(line).append("\n");
}
}
process.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
return result.toString();
}
public static void main(String[] args) {
String output = exec("uname -a");
System.out.println(output);
}
}
这段Java代码实现了一个Linux命令执行器,通过ProcessBuilder类执行Shell命令并获取输出结果。核心方法exec()接收命令字符串,使用ProcessBuilder启动子进程执行命令,将标准错误流重定向到标准输出流,并通过BufferedReader读取命令执行结果。最后调用waitFor()等待命令执行完成。main()方法演示了执行"uname -a"命令并打印输出。代码处理了可能的异常并返回执行结果字符串。
更多推荐


所有评论(0)