On 12/08/2009 04:45 PM, Seth Vidal wrote: > --- > yum/misc.py | 30 ++++++++++++++++++++++++++++++ > 1 files changed, 30 insertions(+), 0 deletions(-) > > diff --git a/yum/misc.py b/yum/misc.py > index 642f9a2..bfebc38 100644 > --- a/yum/misc.py > +++ b/yum/misc.py > @@ -873,3 +873,33 @@ def get_my_lang_code(): > > return mylang > > +def return_running_pids(): > + """return list of running processids, excluding this one""" > + mypid = os.getpid() > + pids = [] > + for fn in glob.glob('/proc/[0123456789]*'): > + if mypid == os.path.basename(fn): > + continue > + pids.append(os.path.basename(fn)) > + return pids > + > +def get_open_files(pid): > + """returns files open from this pid""" > + files = [] > + smaps = '/proc/%s/smaps' % pid
/proc/%s/maps would work too, has fewer irrelevant lines to skip over, and isn't dependent on CONFIG_MMU. > + try: > + maps = open(smaps, 'r') > + except (IOError, OSError), e: > + return files > + > + for line in maps.readlines(): > + if line.find('fd:') == -1: > + continue > + line = line.replace('\n', '') > + slash = line.find('/') > + filename = line[slash:] > + filename = filename.replace('(deleted)', '') #only mildly retarded > + filename = filename.strip() > + if filename not in files: > + files.append(filename) > + return files _______________________________________________ Yum-devel mailing list Yum-devel@lists.baseurl.org http://lists.baseurl.org/mailman/listinfo/yum-devel