前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >psutil的Process python获取进程信息「建议收藏」

psutil的Process python获取进程信息「建议收藏」

作者头像
全栈程序员站长
发布2022-06-27 11:35:26
2.4K0
发布2022-06-27 11:35:26
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

系统进程信息 psutil.Process()

1. 创建指定进程号的对象

代码语言:javascript
复制
s = psutil.Process(1701)

2. 进程PID:pid

代码语言:javascript
复制
s.pid
在这里插入图片描述
在这里插入图片描述

3. 进程名称:name()

代码语言:javascript
复制
s.name()
在这里插入图片描述
在这里插入图片描述

4. 进程当前状态:status()

代码语言:javascript
复制
s.status()
在这里插入图片描述
在这里插入图片描述

5. 进程是否还在运行 :is_running()

返回此进程是否正在运行。它还检查PID是否已被另一个进程重用,在这种情况下返回False。

代码语言:javascript
复制
s.is_running()
在这里插入图片描述
在这里插入图片描述

6. 父进程对象:parent()

预先返回父进程作为进程对象,检查PID是否已被重用。如果没有父节点,则返回None。

代码语言:javascript
复制
s.parent()
在这里插入图片描述
在这里插入图片描述

7. 父进程pid :ppid()

进程父PID。在Windows上,返回值在第一次调用之后缓存。

代码语言:javascript
复制
s.ppid()
在这里插入图片描述
在这里插入图片描述

8. 进行执行路径:exe()

进程作为绝对路径执行。也可以是空字符串。返回值在第一次调用后缓存。

代码语言:javascript
复制
s.exe()
在这里插入图片描述
在这里插入图片描述

9. 调用进程的命令:cmdline()

调用此进程的命令行

代码语言:javascript
复制
s.cmdline()
在这里插入图片描述
在这里插入图片描述

10. 进程工作路径:cwd()

将当前工作目录处理为绝对路径。

代码语言:javascript
复制
s.cwd()
在这里插入图片描述
在这里插入图片描述

11. 进程创建时间:create_time()

代码语言:javascript
复制
s.create_time()
在这里插入图片描述
在这里插入图片描述

12. 使用进程的用户名:username()

拥有流程的用户的名称。在UNIX上,这是通过使用real process uid计算的。

代码语言:javascript
复制
s.username()
在这里插入图片描述
在这里插入图片描述

13. 进程优先级:nice()

获取或者设置进程的优先级,value值就是需要设置的优先级,默认为None,是获取当前进程的优先级

代码语言:javascript
复制
def nice(self, value=None):
     """Get or set process niceness (priority)."""
     if value is None:
         return self._proc.nice_get()
     else:
         if not self.is_running():
             raise NoSuchProcess(self.pid, self._name)
         self._proc.nice_set(value)
代码语言:javascript
复制
s.nice()
在这里插入图片描述
在这里插入图片描述

14. 进程有关的终端:terminal()

与此进程关联的终端(如果有的话),否则为None。

代码语言:javascript
复制
s.terminal()
在这里插入图片描述
在这里插入图片描述

15. 文件描述符:num_fds()

返回此进程打开的文件描述符的数量(仅POSIX)。

代码语言:javascript
复制
 s.num_fds()
在这里插入图片描述
在这里插入图片描述

16. 进程I/O数据统计

返回进程I/O统计信息作为(read_count、write_count、read_bytes、write_bytes) namedtuple。这些是执行的读/写调用的数量和进程读取和写入的字节数。

代码语言:javascript
复制
s.io_counters()
在这里插入图片描述
在这里插入图片描述

17. 进程I/O优先级:

获取或设置进程I/O的良好性(优先级)。在Linux上,ioclass是ioprio_class_常量之一。value是一个从0到7的数。值越高,进程的I/O优先级越低。在Windows上只使用ioclass*,它可以被设置为2(正常)、1(低)或0(非常低)。只适用于Linux和Windows > Vista。

代码语言:javascript
复制
def ionice(self, ioclass=None, value=None):
    if ioclass is None:
         if value is not None:
             raise ValueError("'ioclass' argument must be specified")
         return self._proc.ionice_get()
     else:
         return self._proc.ionice_set(ioclass, value)
代码语言:javascript
复制
 s.ionice()
在这里插入图片描述
在这里插入图片描述

18. 进程运行在哪个CPU上:cpu_num()

返回该进程当前运行在哪个CPU上。返回的数字应该<= psutil.cpu_count()和< = len (psutil.cpu_percent (percpu = True))。它可以与psutil.cpu_percent(percpu=True)结合使用,观察分布在cpu上的系统工作负载。

代码语言:javascript
复制
s.cpu_num()
在这里插入图片描述
在这里插入图片描述

19. 进程环境变量:environ()

将过程的环境变量作为dict。注意:这可能不反映流程启动后所做的更改。

代码语言:javascript
复制
s.environ()
在这里插入图片描述
在这里插入图片描述

20. 进程使用的线程数:num_threads()

返回此进程使用的线程数。

代码语言:javascript
复制
s.num_threads()
在这里插入图片描述
在这里插入图片描述

21. 当前进程的子进程:children()

代码语言:javascript
复制
 s.children()
在这里插入图片描述
在这里插入图片描述

22. 当前进程CPU利用率:cpu_percent()

返回一个浮点数,该浮点数表示当前进程CPU利用率的百分比

代码语言:javascript
复制
s.cpu_percent()
在这里插入图片描述
在这里插入图片描述

23. 进程信息:cpu_times()

返回一个(user, system, children_user, children_system)元组,表示累积的进程时间,单位为秒。这类似于os.times(),但是是针对每个进程。在macOS和Windows上,children_user和children_system总是设置为0。

代码语言:javascript
复制
s.cpu_times()
在这里插入图片描述
在这里插入图片描述

24. 进程内存信息:memory_info()

返回一个带有变量字段的元组,这些变量字段取决于平台,表示关于进程的内存信息。所有plaforms上的“可移植”字段都是“rss”和“vms”。所有数字都用字节表示。

代码语言:javascript
复制
s.memory_info()
在这里插入图片描述
在这里插入图片描述

25. 进程内存占比:memory_persent()

将进程内存与整个物理系统内存进行比较,并计算进程内存利用率的百分比。memtype参数是一个字符串,它指示您希望与哪种进程内存类型进行比较(默认为“rss”)。可用字符串列表如下:> > > psutil.Process () .memory_info ._fields ()(“rss”、“虚拟机”,“共享”,“文本”,“自由”、“数据”、“脏”,“航空母舰”,pss)

代码语言:javascript
复制
s.memory_persent()
在这里插入图片描述
在这里插入图片描述

26. 进程打开的文件:open_files()

代码语言:javascript
复制
s.open_files()
在这里插入图片描述
在这里插入图片描述

27. 进程打开的套接字连接:connections()

返回进程打开的套接字连接的列表(fd、family、type、laddr、raddr、status)名元组。匹配以下条件的连接的kind参数过滤器:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
s.connections()

28. 暂停进程PID,查看是否被重用:suspend()

使用SIGSTOP暂停进程执行,预先检查PID是否已被重用。在Windows上,这将不会挂起所有进程线程。

29. 恢复进程:resume()

使用SIGCONT预先检查PID是否已被重用,恢复进程执行。在Windows上,这可以恢复所有进程线程。

30. 终止进程:terminate()

使用SIGTERM提前终止进程,检查PID是否已被重用。在Windows上,这是kill()的别名。

31. 终止进程:kill()

使用SIGKILL预先终止当前进程,检查PID是否已被重用。

32. 等待进程终止:wait()

等待进程终止,如果进程是os.getpid()的子进程,也返回它的退出代码,否则为None。如果进程已经终止,则立即返回None,而不是引发NoSuchProcess。如果指定了timeout(以秒为单位),并且进程仍然是活着提高TimeoutExpired。要等待多个进程,可以使用psutil.wait_procs()。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133205.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年6月9,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 系统进程信息 psutil.Process()
    • 1. 创建指定进程号的对象
      • 2. 进程PID:pid
        • 3. 进程名称:name()
          • 4. 进程当前状态:status()
            • 5. 进程是否还在运行 :is_running()
              • 6. 父进程对象:parent()
                • 7. 父进程pid :ppid()
                  • 8. 进行执行路径:exe()
                    • 9. 调用进程的命令:cmdline()
                      • 10. 进程工作路径:cwd()
                        • 11. 进程创建时间:create_time()
                          • 12. 使用进程的用户名:username()
                            • 13. 进程优先级:nice()
                              • 14. 进程有关的终端:terminal()
                                • 15. 文件描述符:num_fds()
                                  • 16. 进程I/O数据统计
                                    • 17. 进程I/O优先级:
                                      • 18. 进程运行在哪个CPU上:cpu_num()
                                        • 19. 进程环境变量:environ()
                                          • 20. 进程使用的线程数:num_threads()
                                            • 21. 当前进程的子进程:children()
                                              • 22. 当前进程CPU利用率:cpu_percent()
                                                • 23. 进程信息:cpu_times()
                                                  • 24. 进程内存信息:memory_info()
                                                    • 25. 进程内存占比:memory_persent()
                                                      • 26. 进程打开的文件:open_files()
                                                        • 27. 进程打开的套接字连接:connections()
                                                          • 28. 暂停进程PID,查看是否被重用:suspend()
                                                            • 29. 恢复进程:resume()
                                                              • 30. 终止进程:terminate()
                                                                • 31. 终止进程:kill()
                                                                  • 32. 等待进程终止:wait()
                                                                  领券
                                                                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档