我正在使用 Ubuntu 14.04,我尝试从 java 以 sudo 用户身份执行 logname 命令,但它返回 null。我试过的代码如下:
try {
Process p = Runtime.getRuntime().exec("logname");
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String sa = br.readLine();
System.out.println("Logged User: "+sa);
} catch (IOException ex) {
System.out.println(ex);
}
我得到的输出是
登录用户:空
我也试过
String[] temp = {"/bin/sh","-c","logname"} exec(temp);
String[] temp = {"/bin/sh","-c","sudo logname"} exec(temp);
exec("sudo 登录名");
更新1:
我尝试使用 whoami|awk '{print $1}' 来查找日志名。但这没有用。如果我以 root 身份登录,它会显示 root。