1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#include <u.h> #include <libc.h> char * getuser(void) { static char user[64]; char name[32]; Dir *dir; snprint(name, sizeof(name), "/proc/%lud/status", (ulong)getpid()); if((dir = dirstat(name)) == nil) return "none"; snprint(user, sizeof(user), "%s", dir->uid); free(dir); return user; }