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

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

本文介绍如何利用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 相关产品和应用

全部下载

专题列表