private boolean restartServer() {
try {
ProcessBuilder processBuilder = new ProcessBuilder("/usr/bin/sudo", "systemctl", "reboot");
String username = System.getProperty("user.name");
System.out.println("username:" + username);
processBuilder.inheritIO();
System.out.println("111111");
Process process = processBuilder.start();
int exitCode = process.waitFor();
if (exitCode == 0) {
System.out.println("Server rebooted successfully");
} else {
System.out.println("Failed to reboot server");
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
return false;

}
程序打印
username:root
111111
java.io.IOException: Cannot run program "sudo": error=13, Permission denied
java程序用户是root 程序打印到111111的时候就开始报错了 说明在 Process process = processBuilder.start(); 就出现了权限的问题
有人知道怎么解决吗
展开
评论