前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux系统进程管理(Python)

Linux系统进程管理(Python)

作者头像
子润先生
修改2021-07-12 10:23:25
1.1K0
修改2021-07-12 10:23:25
举报

psutil模块在获取进程信息方面也提供了很好的支持,包括使用psutil.pids()方法获取所有进程PID

1)进程信息

#列出所有进程PID

>>> import psutil

>>> psutil.pids()

[1, 2, 3, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 25, 26, 27, 28, 36, 38, 39, 40, 59, 91, 227, 233, 234, 235, 236, 239, 251, 256, 257, 324, 430, 451, 456, 480, 3997, 4640, 12449, 12495, 13428, 13481, 13508, 13605, 13664, 13682, 13692, 15000, 19846, 23371, 23422, 24774, 25907, 26079, 26081, 26192, 26194, 26242, 26279, 26280, 26322, 30759]

#实例化一个Process对象,参数为一进程PID

>>> p = psutil.Process(4640)

#进程名

>>> p.name()

'sshd'

#进程bin路径

>>> p.exe()

'/usr/sbin/sshd'

#进程工作目录觉得路径

>>> p.cwd()

'/'

#进程状态

>>> p.status()

'sleeping'

#进程创建时间,时间戳格式

>>> p.create_time()

1533908809.82

#进程uid信息

>>> p.uids()

puids(real=0, effective=0, saved=0)

#进程gid信息

>>> p.gids()

pgids(real=0, effective=0, saved=0)

#进程CPU时间信息,包括user、system两个CPU时间

>>> p.cpu_times()

pcputimes(user=0.0, system=0.02)

#get进程CPU亲和度,如要设置进程CPU亲和度,将CPU号作为参数即可

>>> p.cpu_affinity()

[0]

#进程内存利用率

>>> p.memory_percent()

0.22893646482172475

#进程内存rss、vms信息

>>> p.memory_info()

pmem(rss=4415488, vms=115519488)

#进程IO信息,包括读写IO数及字节数

>>> p.io_counters()

pio(read_count=67866, write_count=52290, read_bytes=1716224, write_bytes=218906624)

#返回打开进程socket的namedutples列表,包括fs、family、laddr等信息

>>> p.connections()

[pconn(fd=3, family=2, type=1, laddr=('0.0.0.0', 1993), raddr=(), status='LISTEN')]

#进程开启的线程数

>>> p.num_threads()

1

2)popen类的使用

#通过psutil的Popen方法启动的应用程序,可以跟踪该程序运行的所有相关信息

>>> import psutil

>>> from subprocess import PIPE

>>> p = psutil.Popen(["/usr/bin/python", "-c", "print('hello')"], stdout=PIPE)

>>> p.name()

'python'

>>> p.username()

'root'

>>> p.communicate()

('hello\n', None)

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档