Grab uid info from /proc/<pid>/ stat

This commit is contained in:
Paul Townsend 2011-08-22 16:09:17 -05:00
commit 323e6491c4

8
smem
View file

@ -50,12 +50,12 @@ class procdata(object):
return '?' return '?'
def piduser(self, pid): def piduser(self, pid):
try: try:
return self._stat('%d/task' % pid).st_uid return self._stat('%d' % pid).st_uid
except: except:
return -1 return -1
def pidgroup(self, pid): def pidgroup(self, pid):
try: try:
return self._stat('%d/task' % pid).st_gid return self._stat('%d' % pid).st_gid
except: except:
return -1 return -1
def username(self, uid): def username(self, uid):
@ -91,12 +91,12 @@ class tardata(procdata):
def _readlines(self, f): def _readlines(self, f):
return self.tar.extractfile(f).readlines() return self.tar.extractfile(f).readlines()
def piduser(self, p): def piduser(self, p):
t = self.tar.getmember("%s/task" % p) t = self.tar.getmember("%d/" % p)
if t.uname: if t.uname:
self._ucache[t.uid] = t.uname self._ucache[t.uid] = t.uname
return t.uid return t.uid
def pidgroup(self, p): def pidgroup(self, p):
t = self.tar.getmember("%s/task" % p) t = self.tar.getmember("%d/" % p)
if t.gname: if t.gname:
self._gcache[t.gid] = t.gname self._gcache[t.gid] = t.gname
return t.gid return t.gid