I want to know the owner of current process in Unix using Java. I want to find the current server’s owner name. I tried with running “who am i” command in Runtime.getRuntime().exec(), but its not returning me any results.
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);
}
Is there anything wrong with this code or any idea how can I find the owner of current process using Java?
First thing, I think
System.getProperty("user.name")should work for thatSecond thing, the reason your code is not returning anything is because the command is
whoamiwith NO SPACES so your exec line should be (assuming you are running on windows through cygwin or on a **nix based system)