Git   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了我如何获得Python中的进程列表?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何从Unix获得所有正在运行的进程列表,包括命令/进程名称和进程标识,这样我就可以过滤和终止进程。

杀死IF进程存在于Windows中

我的程序被“杀死”

我怎样才能用Perl杀死整个进程树呢?

如何杀死Linux中的特定进程?

在Linux的fork和kill之后停止创build核心转储文件

在Linux上,最简单的解决方案可能是使用外部ps命令:

>>> import os >>> data = [(int(p),C) for p,c in [x.rStrip('n').split(' ',1) ... for x in os.popen('ps h -eo pid:1,command')]]

在其他系统上,您可能必须将选项更改为ps 。

不过,你可能想在pgrep和pkill上运行man 。

在Linux上,使用包含subprocess模块的最新Python:

from subprocess import Popen,PIPE process = Popen(['ps','-eo','pid,args'],stdout=PIPE,stderr=PIPE) stdout,notused = process.communicate() for line in stdout.splitlines(): pid,cmdline = line.split(' ',1) #Do whatever filtering and processing is needed

可能需要根据您的确切需要稍微调整ps命令。

Python中正确的便携式解决方案是使用psutil 。 您有不同的API与PID进行交互:

>>> import psutil >>> psutil.pids() [1,2,3,5,7,8,9,10,11,12,13,14,15,17,18,19,...,32498] >>> psutil.pid_exists(32498) True >>> p = psutil.Process(32498) >>> p.name() 'python' >>> p.cmdline() ['python','script.py'] >>> p.terminate() >>> p.wait()

…如果你想“搜索和杀死”:

for p in psutil.process_iter(): if 'Nginx' in p.name() or 'Nginx' in ' '.join(p.cmdline()): p.terminate() p.wait()

为什么是Python?


可以直接在进程名称上使用killall 。

大佬总结

以上是大佬教程为你收集整理的我如何获得Python中的进程列表?全部内容,希望文章能够帮你解决我如何获得Python中的进程列表?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: