můžete spustit id
příkaz a výsledek čtení.
například:
$ id -u jigar
výstup:
1000
příkaz můžete spustit pomocí
try {
String userName = System.getProperty("user.name");
String command = "id -u "+userName;
Process child = Runtime.getRuntime().exec(command);
// Get the input stream and read from it
InputStream in = child.getInputStream();
int c;
while ((c = in.read()) != -1) {
process((char)c);
}
in.close();
} catch (IOException e) {
}
zdroj
Ve skutečnosti na to existuje API. Není třeba volat příkaz shellu nebo používat JNI, stačí
def uid = new com.sun.security.auth.module.UnixSystem().getUid()
Pokud můžete ovlivnit, jak se Java VM spouští, můžete předat uid jako vlastnost uživatele:
java -Duserid=$(id -u) CoolApp
Ve své CoolApp můžete jednoduše načíst ID pomocí:
System.getProperty("userid");
S pozdravem
Martin.
Jak spustit Node.js jako proces na pozadí a nikdy nezemřít?
Jak mohu nastavit 'backend' v matplotlib v Pythonu?