查看正在运行的Python进程

在编写和调试Python程序时,我们经常需要查看正在运行的Python进程的信息。这些信息可以帮助我们了解程序的运行状态、找出潜在的问题,并进行适当的调整和优化。本文将介绍几种常用的方法来查看正在运行的Python进程。

方法一:使用命令行工具

在命令行界面中,我们可以使用一些系统提供的工具来查看正在运行的Python进程的信息。以下是几个常用的命令行工具:

  • ps:ps命令可以列出当前系统中的所有进程。我们可以使用ps aux | grep python命令来过滤出包含Python关键字的进程信息。下面是一个示例:
$ ps aux | grep python
user      1234  0.0  0.1  123456  7890 ?        Ssl  10:00   0:00 /usr/bin/python3 /path/to/script.py

该命令会列出包含Python关键字的进程的详细信息,包括进程ID、CPU使用率、内存使用量等。

  • top:top命令可以实时监测系统的进程信息。我们可以按下Shift + F键,然后选择显示的字段,比如PID、USER、%CPU、%MEM等。然后按下q键退出top命令。

方法二:使用Python内置模块

Python标准库中的psutil模块提供了一个跨平台的接口,用于获取系统进程和系统利用率信息。我们可以使用该模块来获取正在运行的Python进程的详细信息。以下是一个示例代码:

import psutil

# 获取当前系统中的所有进程
all_processes = psutil.process_iter()

# 过滤出包含Python关键字的进程
python_processes = [p for p in all_processes if 'python' in p.name().lower()]

# 打印每个进程的详细信息
for process in python_processes:
    print(f"Process ID: {process.pid}")
    print(f"Process Name: {process.name()}")
    print(f"CPU Usage: {process.cpu_percent()}%")
    print(f"Memory Usage: {process.memory_info().rss / 1024 / 1024} MB")
    print("-------------------------")

运行以上代码,我们可以得到类似下面的输出:

Process ID: 1234
Process Name: python3
CPU Usage: 10.0%
Memory Usage: 123.45 MB
-------------------------

方法三:使用第三方工具

除了使用系统提供的命令行工具和Python模块,还有一些第三方工具可以帮助我们查看正在运行的Python进程的信息。以下是几个常用的第三方工具:

  • htop:htop是一个基于命令行的系统监控工具,可以实时查看系统进程和系统利用率信息。我们可以使用htop命令来启动该工具,然后按下F4键,输入python来过滤出包含Python关键字的进程。

  • py-spy:py-spy是一个基于Python的采样器,可以实时监测Python进程的CPU和内存使用情况。我们可以使用py-spy top -p <pid>命令来监测指定进程的信息。

总结

本文介绍了三种常用的方法来查看正在运行的Python进程的信息。通过命令行工具、Python内置模块和第三方工具,我们可以获取进程的ID、名称、CPU使用率、内存使用量等信息,从而更好地了解和调试我们的Python程序。

工具 优点 缺点
ps - 简单易用<br>- 系统自带 - 需要手动过滤出Python进程<br>- 信息较为简略
top - 实时监测系统进程信息<br>- 可自定义显示字段 - 命令较多、需要熟悉使用方法<br>- 信息较为繁杂