首页 > 代码库 > python查看进程树
python查看进程树
#!/usr/bin/env python import shlex from subprocess import Popen,PIPE def get_ps(): cmd = ‘ps ax -o pid,ppid,cmd‘ p = Popen(shlex.split(cmd),stdout=PIPE) return p.stdout.readlines()[1:] def split(s): s = s.split() return s[0],s[1],‘‘.join(s[2:]) def parser_ps(data): procs = [] for l in data: pid,ppid,cmd = [i.strip() for i in split(l)] procs.append({‘pid‘:int(pid),‘ppid‘:int(ppid),‘cmd‘:cmd}) return procs def show(pid,procs,depth=1): root = [p for p in procs if p[‘pid‘] == pid][0] print ‘-‘ * depth,root[‘pid‘],root[‘ppid‘],root[‘cmd‘] childs = [proc for proc in procs if proc[‘ppid‘] == pid] if childs: depth += 1 for c in childs: show(c[‘pid‘],procs,depth) if __name__ == ‘__main__‘: data = get_ps() procs = parser_ps(data) show(1,procs)
本文出自 “muzinan的技术博客” 博客,谢绝转载!
python查看进程树
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。