要在Python中获取操作系统(OS)的进程信息,可以使用psutil
库。psutil
库是一个跨平台的库,可以获取系统、进程、CPU、磁盘、内存等信息。以下是获取OS进程信息的步骤和示例:
步骤1:安装psutil库
如果没有安装psutil
库,可以使用以下命令在终端中安装:
pip install psutil
步骤2:导入psutil库
导入psutil
库,使用以下代码:
import psutil
步骤3:获取进程信息
使用psutil.process_iter()
函数获取所有运行的进程,然后使用psutil.Process()
函数获取每个进程的详细信息。以下是获取进程信息的示例代码:
for proc in psutil.process_iter():
try:
process_name = proc.name()
process_id = proc.pid
process_status = proc.status()
process_cpu_usage = proc.cpu_percent()
process_memory_usage = proc.memory_percent()
print(f"Process '{process_name}' (pid: {process_id}) is {process_status} with CPU usage: {process_cpu_usage}% and Memory usage: {process_memory_usage}%.")
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
上述示例代码通过process_name
、process_id
、process_status
、process_cpu_usage
和process_memory_usage
获取了进程的名称、PID、状态、CPU使用率和内存使用率。如果有其他需要获取的信息,可以参考psutil
库的官方文档。
示例1:实时监测进程信息
使用以上步骤可以实时监测进程信息。以下示例代码显示了如何以每隔10秒的间隔获取进程信息,直到用户终止程序:
import time
while True:
for proc in psutil.process_iter():
try:
process_name = proc.name()
process_id = proc.pid
process_status = proc.status()
process_cpu_usage = proc.cpu_percent()
process_memory_usage = proc.memory_percent()
print(f"Process '{process_name}' (pid: {process_id}) is {process_status} with CPU usage: {process_cpu_usage}% and Memory usage: {process_memory_usage}%.")
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
time.sleep(10)
示例2:获取指定进程的详细信息
使用以上步骤可以获取所有进程的信息。以下示例代码展示了如何获取指定进程的详细信息。例如,要获取notepad.exe
进程的信息:
process_name = "notepad.exe"
for proc in psutil.process_iter():
try:
if proc.name() == process_name:
process_id = proc.pid
process_status = proc.status()
process_cpu_usage = proc.cpu_percent()
process_memory_usage = proc.memory_percent()
print(f"Process '{process_name}' (pid: {process_id}) is {process_status} with CPU usage: {process_cpu_usage}% and Memory usage: {process_memory_usage}%.")
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
上述示例代码将输出notepad.exe
进程的详细信息。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Python中获取操作系统的进程信息 - Python技术站