Hướng dẫn how do i see all running processes in python? - làm cách nào để xem tất cả các quy trình đang chạy trong python?

Hướng dẫn how do i see all running processes in python? - làm cách nào để xem tất cả các quy trình đang chạy trong python?

Trong bài viết này, chúng tôi sẽ thảo luận về một nền tảng chéo để có được một danh sách tất cả các quy trình đang chạy trong hệ thống và sau đó sắp xếp chúng bằng cách sử dụng bộ nhớ.

Python cung cấp một thư viện chéo thư viện psutil để tìm nạp các chi tiết hệ thống nắng như chi tiết quá trình và hệ thống.psutil to fetch sunning system details like process and system details.

Cách cài đặt Thư viện Psutil Python

Để cài đặt PSUTIL bằng lệnh thực thi PIP, lệnh sau,

pip install psutil

Nó sẽ cài đặt psutil. & Nbsp; để sử dụng nó trong mã nhập mô -đun, tức là.

import psutil

Tạo một danh sách tất cả các quá trình chạy bằng cách lặp lại chúng

PSUTIL cung cấp một chức năng để lặp lại trong tất cả các quy trình đang chạy, tức là.

psutil.process_iter(attrs=None, ad_value=None)

Nó sẽ mang lại một trình lặp lại lớp quy trình cho tất cả các quy trình đang chạy và chúng ta có thể tìm nạp các chi tiết khác từ trình lặp đối tượng quy trình đó. Ví dụ, hãy để Lừa lặp qua tất cả các quy trình đang chạy và tìm nạp tên quy trình và ID quy trình, tức là.
For example, let’s iterate over all the running process and fetch Process Name and Process ID i.e.

import psutil

# Iterate over all running process
for proc in psutil.process_iter():
    try:
        # Get process name & pid from process object.
        processName = proc.name()
        processID = proc.pid
        print(processName , ' ::: ', processID)
    except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
        pass

Đầu ra sẽ giống như,

svchost.exe  :::  420
smss.exe  :::  448
notepad.exe  :::  488
WUDFHost.exe  :::  520
svchost.exe  :::  544
fontdrvhost.exe  :::  612
....
....

Đầu ra sẽ thay đổi hệ thống theo hệ thống dựa trên quá trình chạy hiện tại.

Quảng cáo

Mỗi đối tượng quy trình được mang lại bởi process_iter () có thông tin về quá trình chạy như, id, tên, tên người dùng, id cha, sử dụng bộ nhớ và sử dụng CPU, v.v.process_iter() has information about that running process like, id , name, user name, parent id, memory usage and cpu usage etc.

Đối tượng quy trình cũng cung cấp một chức năng để có được chi tiết quy trình làm từ điển,

as_dict(attrs=None, ad_value=None)

Nó sẽ trả về giá trị của thuộc tính quy trình được thông qua dưới dạng dict, tức là.

pInfoDict = processObj.as_dict(attrs=['pid', 'name', 'cpu_percent'])

Hãy để sử dụng chức năng này trên đối tượng quy trình của từng quy trình đang chạy và tạo danh sách các từ điển I, E,

import psutil

listOfProcessNames = list()
# Iterate over all running processes
for proc in psutil.process_iter():
   # Get process detail as dictionary
   pInfoDict = proc.as_dict(attrs=['pid', 'name', 'cpu_percent'])
   # Append dict of process detail in list
   listOfProcessNames.append(pInfoDict)

Nội dung của danh sách danh sáchofprocessnames như sau,listOfProcessNames are as follows,

{'cpu_percent': 0.0, 'pid': 4, 'name': 'System'}
{'cpu_percent': 0.0, 'pid': 120, 'name': 'Registry'}
{'cpu_percent': 0.0, 'pid': 420, 'name': 'svchost.exe'}
{'cpu_percent': 0.0, 'pid': 448, 'name': 'smss.exe'}
{'cpu_percent': 0.0, 'pid': 488, 'name': 'notepad.exe'}
{'cpu_percent': 0.0, 'pid': 520, 'name': 'WUDFHost.exe'}
....
....

Chúng ta cũng có thể vượt qua các thuộc tính quan trọng khác trong as_dict () như,

'pid', 'memory_percent', 'name', 'cpu_times', 'create_time', 'memory_info'

Kiểm tra tài liệu thư viện để biết thêm các thuộc tính.

import psutil
0

Nó sẽ lặp lại trong danh sách tất cả các quá trình chạy và tìm nạp cách sử dụng bộ nhớ cùng với ID và tên là Dict.

Lớp quy trình cung cấp thông tin bộ nhớ của quy trình, nó tìm nạp & nbsp; sử dụng bộ nhớ ảo từ nó, sau đó nối các chế độ cho mỗi quy trình vào một danh sách. Cuối cùng, hãy sắp xếp danh sách từ điển theo VM chính, vì vậy danh sách quy trình sẽ được sắp xếp bằng cách sử dụng bộ nhớ.vms, so list of process will be sorted by memory usage.

Hãy gọi cho chức năng này và in quy trình Top 5 bằng cách sử dụng bộ nhớ, tức là.

import psutil
1

Đầu ra:

import psutil
2

Mã hoàn chỉnh như sau,

import psutil
3 & nbsp;