psutil: system, process, information is in my hands

Gets the number of logical cpu

import psutil

print(psutil.cpu_count())  # 12

Acquisition of physical CPU cores

import psutil

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

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


User statistics CPU / System / Idle time

import psutil

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

View cpu usage

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个元素

Get physical memory information

import psutil

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

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

Get memory information exchange

import psutil

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

On the relationship between physical and swap memory

  • Physical Memory

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

  • Swap memory

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

  • Virtual Memory

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


View disk information

可以通过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表示可读写

View a disk usage

import psutil

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

Get the number of bytes read network / packet

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)

Acquire network interface information

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)]}
"""

Get the current network information

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)]
"""

Get the current id of all processes

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]

To see if there is a process

import psutil

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

Gets a specified process

import psutil

p = psutil.Process(pid=114656)

See related processes

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
"""

Guess you like

Origin www.cnblogs.com/traditional/p/11111332.html