使用java获取当前进程所有者

时间:2012-10-31 14:02:17

标签: java unix

我想知道使用Java的Unix当前进程的所有者。我想找到当前服务器的所有者名称。我尝试在Runtime.getRuntime()。exec()中运行“who is i”命令,但它没有给我任何结果。

String line = ""; 
Process p = Runtime.getRuntime().exec("who am i");
InputStream iStream = p.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(iStream);
BufferedReader bufReader = new BufferedReader(inputStreamReader);
while ((line = bufReader.readLine()) != null) {
    System.out.println("Input "+line);
}

这段代码有什么问题或任何想法如何使用Java找到当前进程的所有者?

1 个答案:

答案 0 :(得分:10)

首先,我认为System.getProperty("user.name")应该适用于

第二件事,你的代码没有返回任何东西的原因是因为命令是whoami没有空格所以你的exec行应该是(假设你通过cygwin或基于** nix的系统在windows上运行)

Process p = Runtime.getRuntime().exec("whoami");