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

psutil的Process python获取进程信息「建议收藏」系统进程信息psutil.Process()1.创建指定进程号的对象s=psutil.Process(1701)2.进程PID:pids.pid3.进程名称:name()s.name()4.进程当前状态:status()s.status()5.进程是否还在运行:is_running()返回此进程是否正在运行。它还检查PID是否已被另一个进程重用…

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

系统进程信息 psutil.Process()

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

s = psutil.Process(1701)

2. 进程PID:pid

s.pid

在这里插入图片描述

3. 进程名称:name()

s.name()

在这里插入图片描述

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

s.status()

在这里插入图片描述

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

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

s.is_running()

在这里插入图片描述

6. 父进程对象:parent()

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

s.parent()

在这里插入图片描述

7. 父进程pid :ppid()

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

s.ppid()

在这里插入图片描述

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

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

s.exe()

在这里插入图片描述

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

调用此进程的命令行

s.cmdline()

在这里插入图片描述

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

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

s.cwd()

在这里插入图片描述

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

s.create_time()

在这里插入图片描述

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

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

s.username()

在这里插入图片描述

13. 进程优先级:nice()

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

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)
s.nice()

在这里插入图片描述

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

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

s.terminal()

在这里插入图片描述

15. 文件描述符:num_fds()

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

 s.num_fds()

在这里插入图片描述

16. 进程I/O数据统计

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

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。

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)
 s.ionice()

在这里插入图片描述

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

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

s.cpu_num()

在这里插入图片描述

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

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

s.environ()

在这里插入图片描述

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

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

s.num_threads()

在这里插入图片描述

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

 s.children()

在这里插入图片描述

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

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

s.cpu_percent()

在这里插入图片描述

23. 进程信息:cpu_times()

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

s.cpu_times()

在这里插入图片描述

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

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

s.memory_info()

在这里插入图片描述

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

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

s.memory_persent()

在这里插入图片描述

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

s.open_files()

在这里插入图片描述

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

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

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.net/133205.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月9日 下午4:00
下一篇 2022年6月9日 下午4:16


相关推荐

  • linux读写锁

    linux读写锁读写锁与互斥量类似,但读写锁允许更高的并行性。其特性为:写独占,读共享。读写锁状态:一把读写锁具备三种状态:1.读模式下加锁状态(读锁)2.写模式下加锁状态(写锁)3.不加锁状态读写锁特性:1. 读写锁是“写模式加锁”时,解锁前,所有对该锁加锁的线程都会被阻塞。2. 读写锁是“读模式加锁”时,如果线程以读模式对其加锁会成功;如果线程以写模式加

    2022年8月12日
    8
  • 如何在代码评审中处理不一致的代码实践

    如何在代码评审中处理不一致的代码实践

    2026年3月12日
    1
  • mysql数据库中查询数据的语句怎么写_mysql数据库多表查询

    mysql数据库中查询数据的语句怎么写_mysql数据库多表查询单表查询1、普通查询(1)命令:select*from<表名>;//通匹(2)命令:select<要查询的字段>from<表名>;2、去重查询(distinct)命令:selectdistinct<要查询的字段>from<表名>3、排序查询(orderby)升序:asc降序:desc降序排列命令:select<要查询的字段名>from<表名>orderby<要查询的字

    2025年8月26日
    10
  • 反向传播——通俗易懂[通俗易懂]

    反向传播——通俗易懂[通俗易懂]最近在看深度学习的东西,一开始看的吴恩达的UFLDL教程,有中文版就直接看了,后来发现有些地方总是不是很明确,又去看英文版,然后又找了些资料看,才发现,中文版的译者在翻译的时候会对省略的公式推导过程进行补充,但是补充的又是错的,难怪觉得有问题。反向传播法其实是神经网络的基础了,但是很多人在学的时候总是会遇到一些问题,或者看到大篇的公式觉得好像很难就退缩了,其实不难,就是一个链式求导法则反复用。如果…

    2022年4月28日
    42
  • 用什么代替整流桥mb10f_kbl10整流桥

    用什么代替整流桥mb10f_kbl10整流桥编辑-ZMB10F是在MB10S系列基础上根据用户需求开发生产的新型号。从参数功能上看,MB10F就像是瘦身成功的MB10S,那么哪个比较好?ASEMI整流桥MB10S和MB10F详细对比:整流桥MB10S和MB10F的电气参数相同:正向电流(Io)为1A,反向电压为1000V,正向电压(VF)为1.0V,采用GPP芯片材料,其中有4个芯片,芯片尺寸为46MIL,其浪涌电流Ifsm为30A,漏电流(Ir)为5uA,工作温度为-40~+150℃,恢复时间(Trr)为500ns,有4条引线在里面

    2022年8月24日
    6
  • RPN网络通俗理解

    RPN网络通俗理解【提特征】RPN网络前面是一个提特征的网络,比如VGG,Res等,传给RPN网络的是一个特征图,其实也就是一个tensor比如用ZF网络(论文里面用的)输出特征图:13*13*256【RPN】拿到模型的特征,RPN网络首先加了一个3*3*256*256的卷积层(其实不是很清楚为什么加,可能是为了扩大感受野)这样就会得到11*11*256的输出,前面11*11是图形矩阵,其中每一个点在原图中都是一个…

    2022年6月23日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号