📅  最后修改于: 2023-12-03 15:04:13.401000             🧑  作者: Mango
在某些应用中,我们需要获取系统正在运行的进程列表。Python的psutil库提供了一个易用的接口来检索此信息。
使用以下命令可以安装psutil库:
pip install psutil
以下代码使用psutil获取当前正在运行的进程列表:
import psutil
# 获取当前进程列表
processes = psutil.process_iter()
for process in processes:
print(process)
输出如下:
psutil.Process(pid=0, name='kernel_task', started='2019-01-01 00:00:00')
psutil.Process(pid=1, name='launchd', started='2019-01-01 00:00:00')
psutil.Process(pid=2, name='UserEventAgent', started='2019-01-01 00:00:00')
psutil.Process(pid=3, name='kextd', started='2019-01-01 00:00:00')
...
以下代码使用psutil获取当前正在运行的进程的详细信息:
import psutil
# 获取当前进程列表
processes = psutil.process_iter()
for process in processes:
process_info = process.as_dict(attrs=['pid', 'name', 'username'])
print(process_info)
输出如下:
{'pid': 0, 'name': 'kernel_task', 'username': 'root'}
{'pid': 1, 'name': 'launchd', 'username': 'root'}
{'pid': 2, 'name': 'UserEventAgent', 'username': 'root'}
{'pid': 3, 'name': 'kextd', 'username': 'root'}
...
以下代码使用psutil获取指定进程的详细信息:
import psutil
# 获取进程列表
processes = psutil.process_iter()
for process in processes:
process_info = process.as_dict(attrs=['pid', 'name'])
# 将需要查找的进程名称填充到下面的if语句中
if process_info.get('name') == 'python':
print(process_info)
输出如下:
{'pid': 1234, 'name': 'python'}
以下代码使用psutil结束指定的进程:
import psutil
# 获取进程列表
processes = psutil.process_iter()
for process in processes:
process_info = process.as_dict(attrs=['pid', 'name'])
# 将需要结束的进程名称填充到下面的if语句中
if process_info.get('name') == 'python':
process.kill()
使用psutil库,可以很容易地获取系统正在运行的进程列表,并对进程进行管理,如获取详细信息和结束进程等操作。