python使用psutil模块的进程管理功能

psutil模块——进程管理

  • 安装

    pip install psutil  -i https://pypi.tuna.tsinghua.edu.cn/simple
    
  • 进程管理的功能函数,包括获取进程列表,判断是否存在。

    函数详情
    psutil.pids()以列表的形式返回当前正在运行的进程
    psutil.pid_exists(1)判断给点定的pid是否存在
    psutil.process_iter()迭代当前正在运行的进程,返回的是每个进程的Process对象
    psutil.Process()对进程进行封装,可以使用该类的方法获取进行的详细信息,或者给进程发送信号。
  • 进程相关信息的方法:

    函数详情
    psutil.Process(pid).name详情
    psutil.Process(pid).cmdline获取启动进程的命令行参数
    psutil.Process(pid).create_time获取进程的创建时间(时间戳格式)
    psutil.Process(pid).num_fds进程打开的文件个数
    psutil.Process(pid).num_threads进程的子进程个数
    psutil.Process(pid).is_running判断进程是否正在运行
    psutil.Process(pid).send_signal给进程发送信号,类似与os.kill等
    psutil.Process(pid).kill发送SIGKILL信号结束进程
    psutil.Process(pid).terminate发送SIGTEAM信号结束进程
  • Demo

    C:\Users\GSKHD92>python
    Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import psutil
    >>> psutil.pids()	                    # 以列表形式查看正在运行的进程
    [0, 4, 96, 272, 344, 348, 412, 568, 576, 664, 724, 784, 860, 868, 916, 996, 1016, 1020, 1028, 1052, 1220, 1232, 1240, 1272, 1364, 1436, 1468, 1488, 1500, 1508, 1608, 1644, 1672, 1680, 1688, 1700, 1720, 1772, 1812, 1856, 1876, 1988, 2012, 2052, 2104, 2156, 2180, 2244, 2260, 2268, 2404, 2428, 2440, 2500, 2564, 2640, 2648, 2704, 2800, 2836, 2884, 2908, 2952, 2976, 3040, 3056, 3064, 3076, 3124, 3292, 3356, 3412, 3520, 3528, 3604, 4064, 4148, 4188, 4256, 4264, 4296, 4308, 4316, 4364, 4376, 4388, 4400, 4448, 4456, 4580, 4636, 4652, 4912, 5004, 5184, 5200, 5272, 5292, 5416, 5424, 5496, 5500, 5624, 6164, 6200, 6240, 6248, 6256, 6272, 6308, 6324, 6444, 6456, 6548, 6576, 6584, 6672, 6812, 7060, 7108, 7324, 7428, 7528, 7532, 7644, 7752, 7764, 8024, 8220, 8376, 8544, 8560, 8664, 8696, 8884, 9012, 9056, 9064, 9268, 9588, 9940, 9984, 10024, 10232, 10308, 10452, 10536, 10596, 10836, 10904, 10952, 11300, 11368, 11392, 11420, 12092, 12484, 12692, 12984, 13088, 13412, 13448, 13636, 13708, 13912, 14144, 14216, 14432, 14924, 14968, 15028, 15080, 15416, 15448, 15488, 15664, 15668, 16000, 16012, 16448, 16508, 16664, 16768, 17720, 18672, 18744, 19068, 19096, 19288, 19340, 19344, 19540, 19744, 20452]
    >>> psutil.pid_exists(96)	            # 查看进程运行状态,以布尔形式显示
    True
    >>> list(psutil.process_iter())[:3]	    # 迭代当前正在运行进程,查看列表中前三个实例的信息
    [psutil.Process(pid=0, name='System Idle Process'), psutil.Process(pid=4, name='System'), psutil.Process(pid=96, name='Registry', started='2020-04-02 15:07:44')]
    
    >>> process = psutil.Process(96)        # 通过进程号实例化对象
    >>> print(process)
    psutil.Process(pid=96, name='Registry', started='2020-04-02 15:07:44')
    >>> process.name()
    'Registry'
    >>> process.create_time()
    1585811264.5332725
    >>> process.num_threads()
    3
    >>>
    

转载:python模块之psutil详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值