获取cpu的逻辑数量

import psutil

print(psutil.cpu_count())  # 12

获取CPU的物理核心数

import psutil

print(psutil.cpu_count(logical=False))  # 6

结果为6,说明6核超线程,12的话说明是12核非超线程


统计CPU的用户/系统/空闲时间

import psutil

print(psutil.cpu_times())  # scputimes(user=149649.15625, system=107455.375, idle=3217150.65625, interrupt=4962.5, dpc=3208.484375)

查看cpu的使用率

import psutil

for x in range(3):
# interval:表示每隔0.5s刷新一次
# percpu:表示查看所有的cpu使用率
print(psutil.cpu_percent(interval=0.5, percpu=True))
"""
[17.6, 3.1, 3.1, 12.5, 12.5, 3.1, 21.9, 51.5, 12.5, 9.4, 6.2, 9.4]
[12.5, 3.1, 28.1, 3.1, 12.5, 15.6, 21.9, 21.9, 21.9, 0.0, 6.2, 3.1]
[6.1, 0.0, 3.1, 3.1, 0.0, 21.9, 0.0, 34.4, 12.5, 0.0, 9.4, 0.0]
"""
# 我这里cpu的逻辑数量是12.所以每个里面有12个元素

获取物理内存信息

import psutil

print(psutil.virtual_memory())  # svmem(total=17100566528, available=8526913536, percent=50.1, used=8573652992, free=8526913536)

# total:内存总大小
# available:剩余可用
# percent:已经使用的内存占总内存的比例
# used:已经使用的内存

获取交换内存信息

import psutil

print(psutil.swap_memory())  # sswap(total=18252959744, used=12977037312, free=5275922432, percent=71.1, sin=0, sout=0)

关于物理内存和交换内存之间的关系

  • 物理内存

    就是实际的内存条提供的临时数据存储空间,在windows上右键点击计算机,显示属性时,上面显示的安装内存(RAM),就是电脑的物理内存。这些内存是实际存在的,在你不给机器增加内存条的时候是不会改变的

  • 交换内存

    交换内存是专门用来临时存储数据的,通常在页面调度和交换进程数据时使用。相当于在进行内存整理的时候,会先把部分数据放在硬盘的某个地方,类似我们整理衣柜,衣服一多直接整理会很麻烦,因此会先把部分衣服放在其他地方,等衣柜里的衣服整理完了再把放在其他地方的衣服拿回来。这个其他地方放在计算机中则代表硬盘的某个地方,也就是我们所说的交换区。通常当使用交换内存时,以为这物理内存不足,正所谓衣柜,如果衣服不多那就没必要拿出部分衣服放在其他地方,直接在衣柜里就能解决了

  • 虚拟内存

    首先,如果想要操作文件,可执行程序等等,那么首先要把它们从磁盘上读取到内存中,因此cpu除了自己的那一部分小小的空间外,要想操作数据,只能操作内存里的数据。但是当内存不够了,那么便会在硬盘上开辟一份虚拟内存,将物理内存里的部分数据放在虚拟内存当中。硬盘的空间很大,即使普通电脑安装的固态硬盘也有一百个G,因此可以拿出一部分充当虚拟内存。不过虚拟内存虽说是内存,但毕竟在硬盘上,速度绝对和cpu直接从物理内存里读取数据的速度相差甚远。这也是为什么那些大型网站将经常被访问的一些数据放在redis缓存里,而不是放在硬盘或者数据库上


查看磁盘信息

可以通过psutil获取磁盘分区、磁盘使用率和磁盘IO信息

import psutil

print(psutil.disk_partitions())

"""
[sdiskpart(device='C:\\', mountpoint='C:\\', fstype='NTFS', opts='rw,fixed'),
sdiskpart(device='D:\\', mountpoint='D:\\', fstype='NTFS', opts='rw,fixed'),
sdiskpart(device='E:\\', mountpoint='E:\\', fstype='NTFS', opts='rw,fixed'),
sdiskpart(device='F:\\', mountpoint='F:\\', fstype='NTFS', opts='rw,fixed')]
"""
# 可以看到一共有四个盘符,fstype表示文件系统格式是NTFS,opts中的rw表示可读写

查看某个磁盘使用情况

import psutil

print(psutil.disk_usage("C:\\"))  # sdiskusage(total=239217770496, used=66969640960, free=172248129536, percent=28.0)

获取网络读写字节/包的个数

import psutil

print(psutil.net_io_counters())  # snetio(bytes_sent=180501149, bytes_recv=1192812614, packets_sent=775155, packets_recv=1090820, errin=0, errout=0, dropin=0, dropout=0)


获取网络接口信息

import psutil
from pprint import pprint pprint(psutil.net_if_addrs())
"""
{'Loopback Pseudo-Interface 1': [snicaddr(family=<AddressFamily.AF_INET: 2>, address='127.0.0.1', netmask='255.0.0.0', broadcast=None, ptp=None),
snicaddr(family=<AddressFamily.AF_INET6: 23>, address='::1', netmask=None, broadcast=None, ptp=None)],
'VMware Network Adapter VMnet1': [snicaddr(family=<AddressFamily.AF_LINK: -1>, address='00-50-56-C0-00-01', netmask=None, broadcast=None, ptp=None),
snicaddr(family=<AddressFamily.AF_INET: 2>, address='192.168.111.1', netmask='255.255.255.0', broadcast=None, ptp=None),
snicaddr(family=<AddressFamily.AF_INET6: 23>, address='fe80::e9f4:600a:fdbd:5ab8', netmask=None, broadcast=None, ptp=None)],
'VMware Network Adapter VMnet8': [snicaddr(family=<AddressFamily.AF_LINK: -1>, address='00-50-56-C0-00-08', netmask=None, broadcast=None, ptp=None),
snicaddr(family=<AddressFamily.AF_INET: 2>, address='192.168.42.1', netmask='255.255.255.0', broadcast=None, ptp=None),
snicaddr(family=<AddressFamily.AF_INET6: 23>, address='fe80::a89f:81a4:9d41:41b1', netmask=None, broadcast=None, ptp=None)],
'以太网': [snicaddr(family=<AddressFamily.AF_LINK: -1>, address='4C-ED-FB-BB-E6-AC', netmask=None, broadcast=None, ptp=None),
snicaddr(family=<AddressFamily.AF_INET: 2>, address='192.168.1.5', netmask='255.255.255.0', broadcast=None, ptp=None),
snicaddr(family=<AddressFamily.AF_INET6: 23>, address='2409:8a00:609d:290:6509:3593:9337:bf48', netmask=None, broadcast=None, ptp=None),
snicaddr(family=<AddressFamily.AF_INET6: 23>, address='2409:8a00:609d:290:9150:b81b:6fea:780f', netmask=None, broadcast=None, ptp=None),
snicaddr(family=<AddressFamily.AF_INET6: 23>, address='fe80::6509:3593:9337:bf48', netmask=None, broadcast=None, ptp=None)],
'以太网 2': [snicaddr(family=<AddressFamily.AF_LINK: -1>, address='00-FF-6D-6E-A7-7E', netmask=None, broadcast=None, ptp=None),
snicaddr(family=<AddressFamily.AF_INET: 2>, address='169.254.185.23', netmask='255.255.0.0', broadcast=None, ptp=None),
snicaddr(family=<AddressFamily.AF_INET6: 23>, address='fe80::d185:2a32:557:b917', netmask=None, broadcast=None, ptp=None)]}
"""

获取当前的网络信息

import psutil
from pprint import pprint pprint(psutil.net_connections())
"""
[sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='127.0.0.1', port=57068), raddr=(), status='NONE', pid=91572),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='0.0.0.0', port=5040), raddr=(), status='LISTEN', pid=3540),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='::', port=500), raddr=(), status='NONE', pid=3424),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=60635), raddr=(), status='NONE', pid=95252),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='fe80::a89f:81a4:9d41:41b1', port=62560), raddr=(), status='NONE', pid=5176),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='2409:8a00:609d:290:9150:b81b:6fea:780f', port=8885), raddr=addr(ip='2404:6800:4008:801::200e', port=443), status='SYN_SENT', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='0.0.0.0', port=1536), raddr=(), status='LISTEN', pid=792),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=63342), raddr=(), status='LISTEN', pid=114656),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=8829), raddr=addr(ip='183.192.200.40', port=80), status='ESTABLISHED', pid=95252),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=60660), raddr=(), status='NONE', pid=68784),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='::', port=1548), raddr=(), status='LISTEN', pid=880),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=13817), raddr=addr(ip='127.0.0.1', port=13800), status='ESTABLISHED', pid=94860),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=8876), raddr=addr(ip='172.217.160.110', port=443), status='SYN_SENT', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='127.0.0.1', port=49202), raddr=(), status='NONE', pid=112620),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='::', port=4500), raddr=(), status='NONE', pid=3424),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=3678), raddr=addr(ip='47.92.21.240', port=443), status='ESTABLISHED', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=8883), raddr=addr(ip='172.217.160.110', port=443), status='SYN_SENT', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=8887), raddr=addr(ip='39.156.66.18', port=443), status='TIME_WAIT', pid=0),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=8239), raddr=addr(ip='58.205.214.153', port=80), status='CLOSE_WAIT', pid=94016),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='0.0.0.0', port=912), raddr=(), status='LISTEN', pid=4080),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='192.168.42.1', port=1900), raddr=(), status='NONE', pid=5176),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='::1', port=1900), raddr=(), status='NONE', pid=5176),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='2409:8a00:609d:290:6509:3593:9337:bf48', port=2177), raddr=(), status='NONE', pid=18912),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=4500), raddr=(), status='NONE', pid=3424),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=14059), raddr=addr(ip='120.92.16.252', port=80), status='ESTABLISHED', pid=110184),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='192.168.1.5', port=62565), raddr=(), status='NONE', pid=5176),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='192.168.111.1', port=1900), raddr=(), status='NONE', pid=5176),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=1370), raddr=addr(ip='127.0.0.1', port=1371), status='ESTABLISHED', pid=114656),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=3877), raddr=addr(ip='47.92.21.248', port=443), status='ESTABLISHED', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='fe80::e9f4:600a:fdbd:5ab8', port=62559), raddr=(), status='NONE', pid=5176),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='2409:8a00:609d:290:9150:b81b:6fea:780f', port=8877), raddr=addr(ip='2404:6800:4008:801::200e', port=443), status='SYN_SENT', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='192.168.111.1', port=2177), raddr=(), status='NONE', pid=18912),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='0.0.0.0', port=1381), raddr=(), status='LISTEN', pid=114656),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=8307), raddr=(), status='LISTEN', pid=4284),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='192.168.111.1', port=62563), raddr=(), status='NONE', pid=5176),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='::', port=5353), raddr=(), status='NONE', pid=920),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='::', port=3702), raddr=(), status='NONE', pid=4216),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=1863), raddr=(), status='NONE', pid=66684),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='127.0.0.1', port=49201), raddr=(), status='NONE', pid=107176),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='fe80::e9f4:600a:fdbd:5ab8', port=1900), raddr=(), status='NONE', pid=5176),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='192.168.42.1', port=2177), raddr=(), status='NONE', pid=18912),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=5353), raddr=(), status='NONE', pid=50760),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=1371), raddr=addr(ip='127.0.0.1', port=1370), status='ESTABLISHED', pid=114656),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='::', port=443), raddr=(), status='LISTEN', pid=4284),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='::', port=7680), raddr=(), status='LISTEN', pid=107104),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='0.0.0.0', port=902), raddr=(), status='LISTEN', pid=4080),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='fe80::6509:3593:9337:bf48', port=2177), raddr=(), status='NONE', pid=18912),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='2409:8a00:609d:290:9150:b81b:6fea:780f', port=8874), raddr=addr(ip='2404:6800:4008:801::200e', port=443), status='SYN_SENT', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=14409), raddr=addr(ip='52.139.250.253', port=443), status='ESTABLISHED', pid=3448),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='::', port=1545), raddr=(), status='LISTEN', pid=868),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='fe80::a89f:81a4:9d41:41b1', port=2177), raddr=(), status='NONE', pid=18912),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=51687), raddr=(), status='NONE', pid=66684),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=57558), raddr=(), status='NONE', pid=116272),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.42.1', port=139), raddr=(), status='LISTEN', pid=4),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='::', port=1543), raddr=(), status='LISTEN', pid=3036),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='0.0.0.0', port=443), raddr=(), status='LISTEN', pid=4284),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='::', port=57558), raddr=(), status='NONE', pid=116272),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=6942), raddr=(), status='LISTEN', pid=114656),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='192.168.111.1', port=138), raddr=(), status='NONE', pid=4),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='::1', port=50307), raddr=(), status='NONE', pid=5884),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=5050), raddr=(), status='NONE', pid=3540),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=59013), raddr=(), status='NONE', pid=110184),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=8881), raddr=addr(ip='172.217.160.110', port=443), status='SYN_SENT', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='fe80::6509:3593:9337:bf48', port=62561), raddr=(), status='NONE', pid=5176),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=13777), raddr=addr(ip='127.0.0.1', port=13778), status='ESTABLISHED', pid=110184),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='::', port=5353), raddr=(), status='NONE', pid=50760),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=54278), raddr=(), status='NONE', pid=108784),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=14693), raddr=addr(ip='111.13.34.162', port=80), status='ESTABLISHED', pid=108784),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=51603), raddr=(), status='NONE', pid=25960),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=7806), raddr=addr(ip='124.238.245.217', port=80), status='CLOSE_WAIT', pid=110184),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=1369), raddr=addr(ip='127.0.0.1', port=1368), status='ESTABLISHED', pid=114656),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='2409:8a00:609d:290:9150:b81b:6fea:780f', port=8882), raddr=addr(ip='2404:6800:4008:801::200e', port=443), status='SYN_SENT', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='127.0.0.1', port=62566), raddr=(), status='NONE', pid=5176),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='127.0.0.1', port=50300), raddr=(), status='NONE', pid=4064),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=55907), raddr=(), status='NONE', pid=1832),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='::', port=62568), raddr=(), status='NONE', pid=4216),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='2409:8a00:609d:290:9150:b81b:6fea:780f', port=3876), raddr=addr(ip='2401:b180:2000:10::23', port=443), status='ESTABLISHED', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='::', port=1538), raddr=(), status='LISTEN', pid=1868),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=51040), raddr=(), status='NONE', pid=108784),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=62567), raddr=(), status='NONE', pid=4216),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=5353), raddr=(), status='NONE', pid=920),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='::', port=65481), raddr=(), status='NONE', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='192.168.42.1', port=137), raddr=(), status='NONE', pid=4),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='::1', port=62562), raddr=(), status='NONE', pid=5176),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='::', port=135), raddr=(), status='LISTEN', pid=1064),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='2409:8a00:609d:290:9150:b81b:6fea:780f', port=8886), raddr=addr(ip='2404:6800:4008:801::200e', port=443), status='SYN_SENT', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='0.0.0.0', port=135), raddr=(), status='LISTEN', pid=1064),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='192.168.42.1', port=138), raddr=(), status='NONE', pid=4),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=56768), raddr=(), status='NONE', pid=25960),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='::', port=1537), raddr=(), status='LISTEN', pid=1472),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=8879), raddr=addr(ip='172.217.160.110', port=443), status='SYN_SENT', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='192.168.111.1', port=137), raddr=(), status='NONE', pid=4),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='192.168.1.5', port=138), raddr=(), status='NONE', pid=4),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=5404), raddr=addr(ip='13.107.4.52', port=80), status='ESTABLISHED', pid=116272),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=65481), raddr=(), status='NONE', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='127.0.0.1', port=1900), raddr=(), status='NONE', pid=5176),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='0.0.0.0', port=1537), raddr=(), status='LISTEN', pid=1472),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=500), raddr=(), status='NONE', pid=3424),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=1368), raddr=addr(ip='127.0.0.1', port=1369), status='ESTABLISHED', pid=114656),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='192.168.1.5', port=1900), raddr=(), status='NONE', pid=5176),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='2409:8a00:609d:290:9150:b81b:6fea:780f', port=2177), raddr=(), status='NONE', pid=18912),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=50849), raddr=(), status='NONE', pid=94484),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=65480), raddr=(), status='NONE', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='fe80::6509:3593:9337:bf48', port=1900), raddr=(), status='NONE', pid=5176),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='0.0.0.0', port=1545), raddr=(), status='LISTEN', pid=868),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='0.0.0.0', port=1543), raddr=(), status='LISTEN', pid=3036),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='fe80::a89f:81a4:9d41:41b1', port=1900), raddr=(), status='NONE', pid=5176),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='0.0.0.0', port=7680), raddr=(), status='LISTEN', pid=107104),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='::', port=5355), raddr=(), status='NONE', pid=920),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=13779), raddr=addr(ip='111.13.213.245', port=443), status='ESTABLISHED', pid=110184),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='192.168.42.1', port=62564), raddr=(), status='NONE', pid=5176),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=8824), raddr=addr(ip='121.51.154.27', port=36688), status='TIME_WAIT', pid=0),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=13778), raddr=addr(ip='127.0.0.1', port=13777), status='ESTABLISHED', pid=110184),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=8884), raddr=addr(ip='172.217.160.110', port=443), status='SYN_SENT', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=3702), raddr=(), status='NONE', pid=4216),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=7826), raddr=addr(ip='183.203.69.12', port=80), status='CLOSE_WAIT', pid=110184),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=13800), raddr=(), status='LISTEN', pid=107176),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='0.0.0.0', port=1548), raddr=(), status='LISTEN', pid=880),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=2, laddr=addr(ip='fe80::e9f4:600a:fdbd:5ab8', port=2177), raddr=(), status='NONE', pid=18912),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=1729), raddr=addr(ip='47.92.21.235', port=443), status='ESTABLISHED', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='192.168.1.5', port=137), raddr=(), status='NONE', pid=4),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=5355), raddr=(), status='NONE', pid=920),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.111.1', port=139), raddr=(), status='LISTEN', pid=4),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='::', port=445), raddr=(), status='LISTEN', pid=4),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=139), raddr=(), status='LISTEN', pid=4),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=8735), raddr=addr(ip='125.39.213.39', port=80), status='ESTABLISHED', pid=110372),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='0.0.0.0', port=5432), raddr=(), status='LISTEN', pid=5884),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=57809), raddr=(), status='NONE', pid=110372),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='::', port=5432), raddr=(), status='LISTEN', pid=5884),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='0.0.0.0', port=445), raddr=(), status='LISTEN', pid=4),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='192.168.1.5', port=2177), raddr=(), status='NONE', pid=18912),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='0.0.0.0', port=1538), raddr=(), status='LISTEN', pid=1868),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='::1', port=8307), raddr=(), status='LISTEN', pid=4284),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=8873), raddr=addr(ip='172.217.160.110', port=443), status='SYN_SENT', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=6379), raddr=(), status='LISTEN', pid=3532),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=8812), raddr=addr(ip='111.13.94.19', port=80), status='CLOSE_WAIT', pid=118600),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='2409:8a00:609d:290:9150:b81b:6fea:780f', port=8878), raddr=addr(ip='2404:6800:4008:801::200e', port=443), status='SYN_SENT', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=13800), raddr=addr(ip='127.0.0.1', port=13817), status='ESTABLISHED', pid=107176),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=1647), raddr=addr(ip='111.6.92.186', port=443), status='ESTABLISHED', pid=10776),
sconn(fd=-1, family=<AddressFamily.AF_INET6: 23>, type=1, laddr=addr(ip='::', port=1536), raddr=(), status='LISTEN', pid=792),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=2, laddr=addr(ip='0.0.0.0', port=61471), raddr=(), status='NONE', pid=110372),
sconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='192.168.1.5', port=8823), raddr=addr(ip='121.51.154.28', port=36688), status='TIME_WAIT', pid=0)]
"""

获取当前所有进程的id

import psutil

print(psutil.pids())
"""
[0, 4, 144, 524, 700, 792, 868, 880, 104, 628, 644, 1064, 1108, 1296, 1304, 1368, 1472, 1560, 1636, 1700, 1824,
1832, 1868, 1948, 920, 1860, 2068, 2108, 2184, 2192, 2200, 2348, 2360, 2424, 2432, 2672, 2744, 2816, 2884, 2892,
2944, 3036, 3068, 3152, 3384, 3392, 3412, 3424, 3432, 3440, 3448, 3456, 3464, 3472, 3488, 3516, 3524, 3532, 3564,
3576, 3612, 3676, 3980, 4064, 4080, 4088, 2844, 4156, 4216, 4924, 4968, 4284, 4636, 5176, 5884, 5908, 3240, 5532,
4632, 4364, 5996, 3260, 6208, 6212, 3540, 3340, 652, 1012, 604, 6068, 1320, 10856, 11740, 12608, 3788, 2404, 18912,
11464, 1464, 23240, 40484, 25960, 36596, 42552, 68744, 107544, 107740, 111716, 9464, 111564, 61716, 112620, 91572,
22576, 21972, 67848, 112076, 94484, 83076, 107176, 62204, 108020, 68888, 110740, 64760, 69468, 106820, 72676, 110184,
14448, 25316, 107196, 94860, 82272, 58016, 92824, 94252, 50760, 69416, 69192, 15080, 10776, 95252, 81548, 108484,
97048, 68784, 113364, 113568, 110372, 113232, 108784, 68936, 94236, 114656, 71764, 113896, 113960, 110672, 32316,
107104, 116272, 116392, 93584, 106628, 115888, 111464, 116632, 94016,
103420, 66684, 64936, 91088, 56384, 119544, 119100, 119692, 106004, 117740, 113192]

查看某个进程是否存在

import psutil

print(psutil.pid_exists(93584))  # True
print(psutil.pid_exists(233333)) # False

获取某个指定的进程

import psutil

p = psutil.Process(pid=114656)


查看相关进程的信息

import psutil

p = psutil.Process(pid=114656)

# 进程名称
print(p.name()) # pycharm64.exe # 进程的exe路径
print(p.exe()) # E:\pycharm\PyCharm 2018.3.1\bin\pycharm64.exe # 进程的工作目录
print(p.cwd()) # C:\Users\Administrator\Desktop # 进程启动的命令行
print(p.cmdline()) # ['E:\\pycharm\\PyCharm 2018.3.1\\bin\\pycharm64.exe'] # 当前进程id
print(p.pid) # 114656 # 父进程id
print(p.ppid()) # 94484 # 父进程
print(p.parent()) # psutil.Process(pid=94484, name='explorer.exe', started='10:25:39') # 子进程列表
print(p.children()) # [psutil.Process(pid=71764, name='fsnotifier64.exe', started='10:32:23'), psutil.Process(pid=94264, name='python.exe', started='13:00:51')] # 进程状态
print(p.status()) # running # 进程用户名
print(p.username()) # KOISHI\satori # 进程创建时间,返回时间戳
print(p.create_time()) # 1561775539.0 # 进程终端
# 在windows上无法使用
try:
print(p.terminal())
except Exception as e:
print(e) # 'Process' object has no attribute 'terminal' # 进程使用的cpu时间
print(p.cpu_times()) # pcputimes(user=298.828125, system=57.859375, children_user=0.0, children_system=0.0) # 进程所使用的的内存
print(p.memory_info()) # pmem(rss=917143552, vms=973598720, num_page_faults=1622953, peak_wset=951140352, wset=917143552, peak_paged_pool=821864, paged_pool=813312, peak_nonpaged_pool=227128, nonpaged_pool=207560, pagefile=973598720, peak_pagefile=1008558080, private=973598720) # 进程打开的文件
print(p.open_files())
"""
[popenfile(path='E:\\pycharm\\PyCharm 2018.3.1\\plugins\\rest\\lib\\resources_en.jar', fd=-1),
popenfile(path='C:\\Windows\\Fonts\\StaticCache.dat', fd=-1),
popenfile(path='E:\\pycharm\\PyCharm 2018.3.1\\plugins\\svn4idea\\lib\\resources_en.jar', fd=-1),
popenfile(path='E:\\pycharm\\PyCharm 2018.3.1\\plugins\\restClient\\lib\\resources_en.jar', fd=-1),
popenfile(path='E:\\pycharm\\PyCharm 2018.3.1\\plugins\\sass\\lib\\resources_en.jar', fd=-1),
popenfile(path='E:\\pycharm\\PyCharm 2018.3.1\\plugins\\JavaScriptLanguage\\lib\\resources_en.jar', fd=-1),
popenfile(path='E:\\pycharm\\PyCharm 2018.3.1\\lib\\resources.jar', fd=-1),
popenfile(path='C:\\Windows\\Fonts\\arial.ttf', fd=-1),
popenfile(path='E:\\pycharm\\PyCharm 2018.3.1\\plugins\\concurrency-visualiser\\lib\\concurrency-visualiser.jar', fd=-1),
popenfile(path='C:\\Users\\Administrator\\.PyCharm2019.1\\system\\index\\stubs\\py.variable.shortname\\Py.variable.shortName.storage.values', fd=-1),
popenfile(path='E:\\pycharm\\PyCharm 2018.3.1\\lib\\log4j.jar', fd=-1),
popenfile(path='E:\\pycharm\\PyCharm 2018.3.1\\plugins\\python-jupyter\\lib\\resources_en.jar', fd=-1),
popenfile(path='C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\+~JF12619401149754393834.tmp', fd=-1),
popenfile(path='C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\hsperfdata_satori\\114656', fd=-1),
popenfile(path='C:\\Program Files\\WindowsApps\\Microsoft.LanguageExperiencePackzh-cn_17134.35.47.0_neutral__8wekyb3d8bbwe\\Windows\\System32\\zh-CN\\msctf.dll.mui', fd=-1),
popenfile(path='E:\\pycharm\\PyCharm 2018.3.1\\plugins\\puppet\\lib\\resources_en.jar', fd=-1),
popenfile(path='C:\\Windows\\Fonts\\symbol.ttf', fd=-1),
popenfile(path='E:\\pycharm\\PyCharm 2018.3.1\\lib\\pycharm-pydev.jar', fd=-1),
popenfile(path='E:\\pycharm\\PyCharm 2018.3.1\\plugins\\less\\lib\\resources_en.jar', fd=-1),
popenfile(path='C:\\Users\\Administrator\\.PyCharm2019.1\\system\\index\\filenameindex\\FilenameIndex.storage.values', fd=-1),
popenfile(path='C:\\Users\\Administrator\\.PyCharm2019.1\\system\\index\\idindex\\IdIndex.storage.values.s', fd=-1),
popenfile(path='C:\\Windows\\Fonts\\lucon.ttf', fd=-1),
popenfile(path='E:\\pycharm\\PyCharm 2018.3.1\\plugins\\IntelliLang-python\\lib\\IntelliLang-python.jar', fd=-1),
popenfile(path='C:\\Users\\Administrator\\.PyCharm2019.1\\system\\index\\stubs\\py.class.shortname\\Py.class.shortName.storage.values', fd=-1),
popenfile(path='C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\+~JF9422838817282955219.tmp', fd=-1),
popenfile(path='E:\\pycharm\\PyCharm 2018.3.1\\plugins\\DatabaseTools\\lib\\database-openapi.jar', fd=-1),
太多了,省略了。。。。。。
""" # 进程相关的网络连接
print(p.connections())
"""
[pconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=1369), raddr=addr(ip='127.0.0.1', port=1368), status='ESTABLISHED'),
pconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=1370), raddr=addr(ip='127.0.0.1', port=1371), status='ESTABLISHED'),
pconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=6942), raddr=(), status='LISTEN'),
pconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=1368), raddr=addr(ip='127.0.0.1', port=1369), status='ESTABLISHED'),
pconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=1371), raddr=addr(ip='127.0.0.1', port=1370), status='ESTABLISHED'),
pconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='0.0.0.0', port=1381), raddr=(), status='LISTEN'),
pconn(fd=-1, family=<AddressFamily.AF_INET: 2>, type=1, laddr=addr(ip='127.0.0.1', port=63342), raddr=(), status='LISTEN')]
""" # 进程内的线程数量,这个进程开启了多少个线程
print(p.num_threads()) # 这个进程内的所有线程信息
print(p.threads())
"""
[pthread(id=114292, user_time=0.25, system_time=0.078125),
pthread(id=95596, user_time=0.71875, system_time=0.015625),
pthread(id=113320, user_time=0.328125, system_time=0.0),
pthread(id=114256, user_time=2.484375, system_time=0.015625),
pthread(id=42608, user_time=1.296875, system_time=0.046875),
pthread(id=95480, user_time=0.015625, system_time=0.0),
pthread(id=81900, user_time=0.0, system_time=0.0),
pthread(id=23620, user_time=0.0, system_time=0.0),
pthread(id=114612, user_time=0.0, system_time=0.0),
pthread(id=112288, user_time=93.765625, system_time=2.015625),
pthread(id=75120, user_time=13.578125, system_time=0.875),
pthread(id=75824, user_time=0.671875, system_time=0.28125),
pthread(id=113792, user_time=0.0, system_time=0.0),
pthread(id=69436, user_time=0.09375, system_time=0.078125),
pthread(id=114244, user_time=0.0, system_time=0.0),
pthread(id=94420, user_time=0.015625, system_time=0.015625),
pthread(id=114188, user_time=0.640625, system_time=0.015625),
pthread(id=93412, user_time=0.046875, system_time=0.0),
pthread(id=110240, user_time=12.484375, system_time=24.421875),
pthread(id=68264, user_time=0.6875, system_time=0.015625),
pthread(id=102884, user_time=0.78125, system_time=0.0),
pthread(id=75756, user_time=0.71875, system_time=0.03125),
pthread(id=108240, user_time=0.640625, system_time=0.03125),
pthread(id=78552, user_time=0.0, system_time=0.0),
pthread(id=114356, user_time=0.0, system_time=0.0),
pthread(id=69564, user_time=0.328125, system_time=0.0),
pthread(id=20700, user_time=0.328125, system_time=0.0),
pthread(id=112992, user_time=0.21875, system_time=0.234375),
pthread(id=108752, user_time=0.46875, system_time=0.625),
pthread(id=13140, user_time=0.0, system_time=0.0),
pthread(id=113604, user_time=0.703125, system_time=0.015625),
pthread(id=94068, user_time=0.6875, system_time=0.0),
pthread(id=108408, user_time=0.65625, system_time=0.015625),
pthread(id=105324, user_time=0.625, system_time=0.015625),
pthread(id=95852, user_time=69.5625, system_time=18.625),
pthread(id=76076, user_time=0.0, system_time=0.0),
pthread(id=45644, user_time=1.6875, system_time=1.625),
pthread(id=94588, user_time=0.0, system_time=0.0),
pthread(id=105824, user_time=0.0, system_time=0.0),
pthread(id=113384, user_time=0.015625, system_time=0.0),
pthread(id=114632, user_time=0.015625, system_time=0.0),
pthread(id=65376, user_time=0.0, system_time=0.0),
pthread(id=114392, user_time=0.0, system_time=0.0),
pthread(id=63188, user_time=0.0, system_time=0.0),
pthread(id=112560, user_time=0.0, system_time=0.0),
pthread(id=95160, user_time=0.015625, system_time=0.015625),
pthread(id=107548, user_time=0.09375, system_time=0.328125),
pthread(id=107864, user_time=0.0, system_time=0.0),
pthread(id=47812, user_time=0.0, system_time=0.03125),
pthread(id=117032, user_time=0.0, system_time=0.0),
pthread(id=117992, user_time=2.15625, system_time=0.0),
pthread(id=117380, user_time=0.0, system_time=0.0),
pthread(id=118180, user_time=2.34375, system_time=0.0),
pthread(id=111972, user_time=1.734375, system_time=0.0),
pthread(id=115024, user_time=1.59375, system_time=0.0),
pthread(id=117924, user_time=1.859375, system_time=0.015625),
pthread(id=94548, user_time=2.34375, system_time=0.0),
pthread(id=57924, user_time=1.8125, system_time=0.015625),
pthread(id=117060, user_time=1.96875, system_time=0.0),
pthread(id=117640, user_time=1.390625, system_time=0.0),
pthread(id=113144, user_time=1.328125, system_time=0.03125),
pthread(id=113932, user_time=1.703125, system_time=0.0),
pthread(id=114496, user_time=0.0, system_time=0.0),
pthread(id=112248, user_time=0.0, system_time=0.0),
pthread(id=29020, user_time=0.0, system_time=0.0),
pthread(id=119492, user_time=0.859375, system_time=0.28125),
pthread(id=114556, user_time=0.46875, system_time=0.1875),
pthread(id=119696, user_time=0.0, system_time=0.0),
pthread(id=96052, user_time=0.4375, system_time=0.109375),
pthread(id=113468, user_time=0.0, system_time=0.0)]
""" # 进程的环境变量
print(p.environ())
"""
{'ADSK_3DSMAX_X64_2016': 'E:\\Audodesk_3dmax\\3ds Max 2016\\',
'ALLUSERSPROFILE': 'C:\\ProgramData',
'APPDATA': 'C:\\Users\\Administrator\\AppData\\Roaming',
'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files',
'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files',
'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files',
'COMPUTERNAME': 'KOISHI', 'COMSPEC': 'C:\\WINDOWS\\system32\\cmd.exe',
'DRIVERDATA': 'C:\\Windows\\System32\\Drivers\\DriverData',
'GOPATH': 'C:\\Users\\Administrator\\go', 'GOROOT': 'C:\\Go\\', 'HOMEDRIVE': 'C:',
'HOMEPATH': '\\Users\\Administrator', 'JAVA_HOME': 'C:\\Java\\jdk1.8.0_181',
'LOCALAPPDATA': 'C:\\Users\\Administrator\\AppData\\Local', 'LOGONSERVER': '\\\\KOISHI',
'LUA_DEV': 'C:\\Lua\\5.1', 'LUA_PATH': ';;C:\\Lua\\5.1\\lua\\?.luac', 'NUMBER_OF_PROCESSORS': '12',
'ONEDRIVE': 'C:\\Users\\Administrator\\OneDrive', 'OS': 'Windows_NT',
'PATH': 'C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Go\\bin;C:\\python37\\Scripts;C:\\python37;C:\\Java\\jdk1.8.0_181\\bin;C:\\Java\\jdk1.8.0_181\\jre\\bin;C:\\MinGW\\bin;C:\\Lua\\5.1;C:\\Lua\\5.1\\clibs;E:\\ffmpeg\\bin;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files\\NVIDIA Corporation\\NVIDIA NvDLISR;C:\\Program Files\\Git\\cmd;C:\\Program Files\\Redis\\;C:\\Program Files\\MongoDB\\Server\\4.0\\bin;C:\\Program Files (x86)\\Tesseract-OCR;C:\\Program Files\\Common Files\\Autodesk Shared\\;C:\\Python38\\Scripts\\;C:\\Python38\\;C:\\Users\\Administrator\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\Administrator\\go\\bin;C:\\Users\\Administrator\\AppData\\Local\\Microsoft\\WindowsApps;E:\\WebStorm 2018.3.3\\bin',
'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.wlua;.lexe;.PY',
'PROCESSOR_ARCHITECTURE': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 158 Stepping 10, GenuineIntel',
'PROCESSOR_LEVEL': '6', 'PROCESSOR_REVISION': '9e0a', 'PROGRAMDATA': 'C:\\ProgramData',
'PROGRAMFILES': 'C:\\Program Files', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)',
'PROGRAMW6432': 'C:\\Program Files',
'PSMODULEPATH': 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules',
'PUBLIC': 'C:\\Users\\Public', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'SYSTEMROOT': 'C:\\WINDOWS',
'TEMP': 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp',
'TESSDATA_PREFIX': 'C:\\Program Files (x86)\\Tesseract-OCR\\tessdata',
'TMP': 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp', 'USERDOMAIN': 'KOISHI',
'USERDOMAIN_ROAMINGPROFILE': 'KOISHI', 'USERNAME': 'satori', 'USERPROFILE': 'C:\\Users\\Administrator',
'WEBSTORM': 'E:\\WebStorm 2018.3.3\\bin;', 'WINDIR': 'C:\\WINDOWS'}
""" # 结束进程,自己把自己结束掉
print(p.terminate())
"""
返回结果为None,这里无法看到现象。我现在使用的是pycharm,如果这里的p是pycharm的话,调用p.terminate(),那么pycharm会被强制关闭
""" # 此外psutil还提供了test()函数,可以模拟出ps命令的效果
psutil.test()
"""
USER PID %MEM VSZ RSS TTY START TIME COMMAND
SYSTEM 0 ? 52 8 ? Jun18 42:57 System Idle Process
SYSTEM 4 ? 248 2252 ? Jun18 19:57 System
104 ? 1024 428 ? Jun18 00:00 svchost.exe
144 0.1 848 10040 ? Jun18 00:04 Registry
524 ? 496 512 ? Jun18 00:00 smss.exe
604 0.1 3452 9708 ? Jun18 00:05 svchost.exe
628 0.1 15776 21876 ? Jun18 03:59 svchost.exe
644 ? 2252 540 ? Jun18 00:00 fontdrvhost.exe
652 ? 2744 4132 ? Jun18 00:00 svchost.exe
700 ? 1804 1800 ? Jun18 00:09 csrss.exe
792 ? 1876 2464 ? Jun18 00:00 wininit.exe
868 ? 5916 5948 ? Jun18 01:15 services.exe
880 0.1 7624 10652 ? Jun18 04:18 lsass.exe
920 ? 3540 4784 ? Jun18 00:39 svchost.exe
1012 0.3 55372 52744 ? Jun18 01:30 SearchIndexer.exe
1064 0.1 8876 10380 ? Jun18 02:40 svchost.exe
1108 ? 3452 4716 ? Jun18 00:04 svchost.exe
1296 ? 2272 4292 ? Jun18 00:00 svchost.exe
1304 ? 2376 4560 ? Jun18 00:01 svchost.exe
1320 ? 5212 5032 ? Jun18 00:07 svchost.exe
1368 ? 1828 1820 ? Jun18 00:00 svchost.exe
1464 ? 1940 2588 ? Jun20 00:00 WUDFHost.exe
1472 0.1 15840 11564 ? Jun18 00:13 svchost.exe
1560 ? 6080 3896 ? Jun18 00:02 svchost.exe
1636 ? 2772 3984 ? Jun18 00:25 svchost.exe
1700 ? 3400 1584 ? Jun18 00:01 NVDisplay.Container.exe
1824 0.1 5620 8376 ? Jun18 00:26 svchost.exe
1832 0.3 97352 46752 ? Jun18 12:12 QQPCRTP.exe
1860 ? 2916 5828 ? Jun18 00:04 svchost.exe
1868 0.1 7004 8940 ? Jun18 00:17 svchost.exe
1948 ? 3328 5532 ? Jun18 00:03 svchost.exe
2068 ? 2244 3716 ? Jun18 00:12 svchost.exe
2108 ? 2812 5964 ? Jun18 00:03 svchost.exe
2184 ? 4996 7924 ? Jun18 02:45 svchost.exe
2192 ? 1388 1500 ? Jun18 00:03 svchost.exe
2200 ? 2128 4148 ? Jun18 00:00 svchost.exe
2348 ? 2244 4236 ? Jun18 00:00 svchost.exe
2360 3.0 2000 506212 ? Jun18 06:53 Memory Compression
2404 0.1 4728 8568 ? Jun18 00:01 svchost.exe
2424 ? 2276 2504 ? Jun18 00:00 svchost.exe
2432 ? 2224 3512 ? Jun18 00:01 svchost.exe
2672 ? 3744 8232 ? Jun18 00:53 svchost.exe
2744 0.1 7852 12732 ? Jun18 00:59 svchost.exe
2816 0.1 16048 11048 ? Jun18 00:27 svchost.exe
2844 ? 3532 5000 ? Jun18 00:03 svchost.exe
2884 ? 1836 1836 ? Jun18 00:00 svchost.exe
2892 ? 2472 4388 ? Jun18 00:00 svchost.exe
2944 ? 2960 6316 ? Jun18 00:00 svchost.exe
3036 ? 5944 4560 ? Jun18 00:00 spoolsv.exe
3068 0.1 4192 11384 ? Jun18 00:01 svchost.exe
3152 ? 2028 2832 ? Jun18 00:00 svchost.exe
3240 ? 3792 96 ? Jun18 00:00 postgres.exe
3260 ? 2872 992 ? Jun18 00:40 postgres.exe
3340 0.2 39008 34748 ? Jun18 00:36 SgrmBroker.exe
3384 ? 2244 3020 ? Jun18 00:00 svchost.exe
3392 0.1 41884 10324 ? Jun18 00:10 svchost.exe
3412 0.1 25324 24228 ? Jun18 00:19 svchost.exe
3424 ? 2720 2196 ? Jun18 00:01 svchost.exe
3432 0.2 39640 35884 ? Jun18 03:53 svchost.exe
3440 0.1 12616 15996 ? Jun18 19:24 svchost.exe
3448 0.1 4996 12444 ? Jun18 00:02 svchost.exe
3456 ? 1564 1916 ? Jun18 00:00 svchost.exe
3464 ? 1640 792 ? Jun18 00:00 svchost.exe
3472 ? 10584 5548 ? Jun18 00:03 nvcontainer.exe
3488 0.1 7368 8636 ? Jun18 00:01 SecurityHealthService.exe
3516 ? 3604 2180 ? Jun18 00:01 vmnat.exe
3524 ? 7900 992 ? Jun18 00:00 vmnetdhcp.exe
3532 ? 21520 1036 ? Jun18 00:00 redis-server.exe
3540 0.1 4444 8440 ? Jun18 00:00 svchost.exe
3564 ? 2516 1624 ? Jun18 00:00 AGMService.exe
3576 ? 4636 1052 ? Jun18 00:03 AGSService.exe
3612 ? 1996 820 ? Jun18 00:00 pg_ctl.exe
3676 ? 3252 3436 ? Jun18 00:30 FNPLicensingService.exe
3788 ? 1596 1012 ? Jun18 00:00 TesService.exe
3980 ? 2416 3728 ? Jun18 00:01 svchost.exe
4064 ? 3592 6400 ? Jun18 00:01 svchost.exe
4080 ? 9924 3636 ? Jun18 13:05 vmware-authd.exe
4088 ? 1676 1220 ? Jun18 00:00 svchost.exe
4156 ? 2856 768 ? Jun18 00:00 vmware-usbarbitrator64.exe
4216 0.1 6868 8508 ? Jun18 00:01 dasHost.exe
4284 ? 33648 4300 ? Jun18 00:02 vmware-hostd.exe
4364 ? 3016 248 ? Jun18 00:00 postgres.exe
4632 ? 3008 316 ? Jun18 00:00 postgres.exe
4636 ? 1808 3456 ? Jun18 00:05 svchost.exe
4924 ? 1548 1996 ? Jun18 00:00 unsecapp.exe
4968 0.1 20068 21604 ? Jun18 44:53 WmiPrvSE.exe
5176 ? 2664 3892 ? Jun18 00:03 svchost.exe
5532 ? 3180 456 ? Jun18 00:02 postgres.exe
5884 ? 4016 2168 ? Jun18 00:17 postgres.exe
5908 ? 5672 1012 ? Jun18 00:00 conhost.exe
5996 ? 4472 2012 ? Jun18 00:02 postgres.exe
6068 ? 1844 2704 ? Jun18 00:00 svchost.exe
6208 0.1 38708 24656 ? Jun18 01:02 svchost.exe
6212 ? 3416 7540 ? Jun18 00:52 svchost.exe
9464 0.3 62128 50228 ? 02:01 07:23 dwm.exe
satori 10776 0.4 84380 65104 ? 10:25 00:48 chrome.exe
10856 ? 2824 4984 ? Jun18 00:00 svchost.exe
11464 ? 6780 3060 ? Jun19 00:00 svchost.exe
11740 ? 1484 2916 ? Jun18 00:00 svchost.exe
12608 ? 5724 5088 ? Jun18 00:07 NvTelemetryContainer.exe
14448 ? 2108 8212 ? 10:25 00:00 svchost.exe
satori 15080 0.6 311452 100056 ? 10:25 03:18 chrome.exe
18912 ? 3132 2644 ? Jun18 00:03 svchost.exe
satori 21972 0.1 6732 16432 ? 10:25 00:03 svchost.exe
satori 22576 0.1 6944 23152 ? 10:25 00:04 sihost.exe
23240 ? 1472 1920 ? Jun20 00:00 svchost.exe
satori 25316 ? 28560 7920 ? 10:25 00:00 wps.exe
25960 0.1 19644 10576 ? Jun22 00:09 QQProtect.exe
satori 32316 0.2 9140 27520 ? 11:15 00:00 RuntimeBroker.exe
36596 ? 4828 2920 ? Jun22 00:00 svchost.exe
40484 ? 4612 1280 ? Jun21 00:00 sedsvc.exe
42552 ? 1872 3188 ? Jun25 00:00 svchost.exe
satori 50760 1.7 362828 275584 ? 10:25 11:02 chrome.exe
satori 58016 ? 10644 3972 ? 10:25 00:00 NVIDIA Share.exe
61716 ? 1424 5168 ? 10:25 00:00 svchost.exe
satori 62204 0.5 74280 78920 ? 10:25 00:08 SearchUI.exe
64760 0.2 26088 27912 ? 10:25 00:39 ctfmon.exe
64936 0.1 14120 19440 ? 12:40 00:02 WmiPrvSE.exe
satori 67848 0.2 7728 29232 ? 10:25 00:00 svchost.exe
68744 ? 1992 1872 ? Jun25 00:00 svchost.exe
68784 0.2 31028 39208 ? 10:25 02:15 QQPCRealTimeSpeedup.exe
satori 68888 0.1 5296 17628 ? 10:25 00:00 RuntimeBroker.exe
satori 68936 0.1 2880 10180 ? 10:27 00:00 svchost.exe
68948 0.1 2220 9424 ? 13:00 00:00 SearchFilterHost.exe
satori 69192 ? 2012 1204 ? 10:25 00:00 chrome.exe
satori 69416 ? 2068 1880 ? 10:25 00:00 chrome.exe
satori 69468 0.1 6980 24024 ? 10:25 00:06 RuntimeBroker.exe
satori 71764 ? 576 1680 ? 10:32 00:03 fsnotifier64.exe
satori 72676 0.2 25148 36904 ? 10:25 00:02 WindowsInternal.ComposableShell.Experiences.TextInput.InputApp.exe
satori 81548 0.5 63736 76776 ? 10:25 00:13 chrome.exe
satori 82272 ? 2028 7860 ? 10:25 00:00 MSASCuiL.exe
satori 83076 0.3 34116 50700 ? 10:25 00:00 ShellExperienceHost.exe
satori 91572 0.2 43548 35672 ? 10:25 01:27 nvcontainer.exe
satori 92824 0.2 56616 39728 ? 10:25 00:01 NVIDIA Share.exe
satori 93584 ? 1140 5100 ? 11:24 00:00 typora.exe
satori 94016 ? 50720 4248 ? 12:33 00:05 wpscenter.exe
satori 94236 1.4 335788 241048 ? 10:29 17:15 chrome.exe
satori 94252 ? 5560 2400 ? 10:25 00:00 RtkNGUI64.exe
satori 94484 1.0 126840 175260 ? 10:25 00:52 explorer.exe
satori 94860 0.2 87536 25400 ? 10:25 00:02 NVIDIA Share.exe
95252 0.5 125716 77396 ? 10:25 02:24 QQPCTray.exe
satori 97048 0.1 16104 20208 ? 10:25 00:00 QMUsbGuard.exe
103420 0.1 3092 10212 ? 12:38 00:02 SearchProtocolHost.exe
satori 106628 0.7 53892 117820 ? 11:24 00:18 Typora.exe
satori 106820 ? 5476 1076 ? 10:25 00:00 conhost.exe
107104 0.1 8160 17256 ? 11:16 00:06 svchost.exe
satori 107176 0.1 30888 10268 ? 10:25 00:02 NVIDIA Web Helper.exe
107196 ? 2952 2996 ? 10:25 00:00 nvsphelper64.exe
107544 ? 2620 5436 ? 02:01 00:19 csrss.exe
107740 ? 2364 7776 ? 02:01 00:00 winlogon.exe
108020 0.1 4376 10048 ? 10:25 00:00 taskhostw.exe
satori 108484 0.1 16304 13744 ? 10:25 00:26 SogouCloud.exe
satori 110184 0.1 88552 12508 ? 10:25 00:35 wps.exe
110372 0.2 15672 25240 ? 10:26 00:01 GameLoader.exe
satori 110672 0.2 55448 39492 ? 11:15 00:01 Microsoft.Photos.exe
satori 110740 0.1 4896 13180 ? 10:25 00:01 RuntimeBroker.exe
satori 111464 0.7 108604 109872 ? 11:24 00:15 Typora.exe
111564 ? 22636 3040 ? 02:01 00:00 NVDisplay.Container.exe
111716 0.1 4600 13256 ? 02:01 00:02 fontdrvhost.exe
satori 112076 0.1 11748 19912 ? 10:25 00:01 taskhostw.exe
satori 112620 ? 24484 7876 ? 10:25 00:00 nvcontainer.exe
satori 113364 0.1 25548 14164 ? 10:25 00:19 wpscenter.exe
satori 113472 0.1 5560 9832 ? 13:02 00:00 conhost.exe
satori 113568 0.6 95476 95148 ? 10:25 00:08 chrome.exe
satori 113896 ? 5420 4552 ? 10:32 00:00 conhost.exe
satori 114212 0.2 385796 33216 ? 13:02 00:04 python.exe
satori 114484 0.1 13920 22692 ? 12:50 00:00 chrome.exe
satori 114656 5.4 950972 895900 ? 10:32 05:57 pycharm64.exe
satori 115888 0.3 92452 56944 ? 11:24 00:04 Typora.exe
satori 116272 0.4 135956 73472 ? 11:19 00:08 SkypeApp.exe
satori 116392 0.1 4676 22176 ? 11:19 00:00 RuntimeBroker.exe
satori 116632 ? 2000 8300 ? 11:35 00:00 SkypeBackgroundHost.exe
"""

最新文章

  1. cin的使用问题
  2. 萌新笔记——C++里创建 Trie字典树(中文词典)(一)(插入、遍历)
  3. linux内核学习之六 进程创建过程学习
  4. 把图片加载到BufferedImage中
  5. 电脑中的Bois是什么
  6. SSIS DB目录设置 (Integration Services Catalogs)
  7. Android的第二次增加SurfaceView基本使用
  8. C++ 头文件系列 (bitset)
  9. 利用 MUI开发app, 如何实现侧滑菜单及其主体部分上下滑动
  10. 详解slab机制
  11. 微服务创建——Ubuntu搭建GitLab
  12. Confluence 6 新安装配置数据库字符集编码
  13. python IDE PyCharm的安装
  14. LOJ6387 [THUPC2018] 绿绿与串串 【manacher】
  15. BZOJ 4671 异或图 | 线性基 容斥 DFS
  16. 实验室ubuntu连ipv6
  17. 【Entity framework】Code First Approach
  18. datax 数据同步迁移
  19. Python的几种主流框架
  20. boost--ref

热门文章

  1. mybatis-config.xml 和 mapper基本设置
  2. golang(11) 反射用法详解
  3. java:ssh连接服务器,实现本地文件上传和下载
  4. OpenCV阈值化处理
  5. vs2008,windows mobile 6 搭建PDA开发环境相关软件下载
  6. Android测试之查看package和activity名称的方法
  7. (C#)Appium自动化测试之卸载\重装APP
  8. Python基础知识(程序结构)
  9. python基础(代码规范、命名规范、代码缩进、注释)
  10. 121. 买卖股票的最佳时机( Best Time to Buy and Sell Stock)