Linux系统进程管理(Python)

2018-11-1422:06:50 1 1,709

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)

  • 微信号
  • 微信扫一扫加我~~
  • weinxin
  • 微信公众号
  • 微信扫一扫关注我吧~~
  • weinxin
广告也精彩

发表评论

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

目前评论:1   其中:访客  1   博主  0

    • avatar 运维老司机

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