如何在Python中获取进程列表?
如何在 Unix 上从 Python 获取所有正在运行的进程的进程列表,其中包含命令/进程的名称和进程 ID,以便我可以过滤和终止进程。
How do I get a process list of all running processes from Python, on Unix, containing then name of the command/process and process id, so I can filter and kill processes.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
在 Linux 上,最简单的解决方案可能是使用外部
ps
命令:在其他系统上,您可能必须将选项更改为
ps
。不过,您可能希望在
pgrep
和pkill
上运行man
。On linux, the easiest solution is probably to use the external
ps
command:On other systems you might have to change the options to
ps
.Still, you might want to run
man
onpgrep
andpkill
.安装 psutil:
导入 psutil:
定义要保存进程列表的列表:
在列表中附加进程:
获取进程列表:
完整代码:
Install psutil:
Import psutil:
Define list where process list is to be saved:
Append processes in list:
Get Process list:
Full code:
为什么选择Python?
可以直接使用
killall
关于进程名称。Why Python?
You can directly use
killall
on the process name.Python 中正确的可移植解决方案是使用 psutil。 你有不同的 API 来与 PID 交互:
...如果你想“搜索并杀死”:
The right portable solution in Python is using psutil. You have different APIs to interact with PIDs:
...and if you want to "search and kill":
在 Linux 上,使用包含
subprocess
模块的最新 Python:您可能需要根据您的具体需求稍微调整 ps 命令。
On Linux, with a suitably recent Python which includes the
subprocess
module:You may need to tweak the ps command slightly depending on your exact needs.