Python使用psutil获取与终止系统进程详解

拾光
拾光
发布时间:2026-10-13| 3人浏览过
原创

本文介绍如何利用Python的psutil模块获取操作系统中的进程信息并执行终止操作。通过示例代码展示如何遍历所有进程ID、获取进程名称,并针对特定名称的进程(如sleep_test1)发送SIGKILL信号进行强制关闭,验证了脚本在Linux环境下的有效性。

Python使用psutil获取与终止系统进程详解

本文主要介绍在 Python 中使用 psutil 获取系统的进程信息。

概述

1 概述

psutil 是一个用于获取进程和系统利用率的 Python 模块。借助该模块,开发者可以在 Python 程序中轻松获取操作系统层面的进程相关数据。

本文测试环境中使用的 rpm 包版本为: python2-psutil.x86_64,该 rpm 包的具体定义如下:

python2-psutil.x86_64 : A process and system utilities module for Python

代码示例

2 代码示例

以下提供一个示例程序,该程序具备两项核心功能:一是获取操作系统中的所有进程信息并打印输出;二是根据指定条件终止目标进程。完整代码(保存为 process_oper_test1.py)如下:


#!/usr/bin/python
# File name: process_oper_test1.py
# Description: some process operations
# Created on: 2018-07-19
# Author: liitdar
 
import psutil
import os
import signal
 
print("----------------------------- show all processes info --------------------------------")
# show processes info
pids = psutil.pids()
for pid in pids:
 p = psutil.Process(pid)
 # get process name according to pid
 process_name = p.name()
 
 print("Process name is: %s, pid is: %s" %(process_name, pid))
 
print("----------------------------- kill specific process --------------------------------")
pids = psutil.pids()
for pid in pids:
 p = psutil.Process(pid)
 # get process name according to pid
 process_name = p.name()
 # kill process "sleep_test1"
 if 'sleep_test1' == process_name:
  print("kill specific process: name(%s)-pid(%s)" %(process_name, pid))
  os.kill(pid, signal.SIGKILL)
 
exit(0)

接下来对上述代码进行实际测试。

当前系统中存在一个名为“sleep_test1”的后台进程正在运行,状态如下:

随后执行以下命令来运行 Python 示例脚本,具体命令如下:


[root@node1 /opt/liitdar/mydemos/simples]# python process_oper_test1.py

部分运行输出结果如下:

执行完毕后,再次查询“sleep_test1”进程,发现该进程已不存在,这证明 Python 示例程序的功能运作正常。验证结果如下:

以上这篇在Python中获取操作系统的进程信息就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。