Linux系统进程管理(Python)

小柒博客 1 73,0734字数 419阅读1分23秒阅读模式

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)

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!

继续阅读
Wechat
微信扫一扫,加我!
weinxin
微信号已复制
微信公众号
微信扫一扫,关注我!
weinxin
公众号已复制
Python最后更新:2024-1-25
小柒博客
  • 本文由 小柒博客 发表于 2018年11月14日 22:06:50
  • 声明:本站所有文章,如无特殊说明或标注,本站文章均为原创。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。转载请务必保留本文链接:https://www.yangxingzhen.com/1617.html
    • 运维老司机
      运维老司机 6

      亲测,写的不错,感谢博主 :razz:

    匿名

    发表评论

    匿名网友
    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

    拖动滑块以完成验证