Python可以實(shí)現(xiàn)許多有用的功能,其中之一就是查找并操作進(jìn)程。在Python中,有一些函數(shù)和方法可以方便地獲取和控制正在運(yùn)行的進(jìn)程。
其中最常用的函數(shù)是subprocess
模塊中的check_call()
函數(shù)。該函數(shù)可以運(yùn)行給定的命令,并返回退出狀態(tài)碼。
import subprocess status = subprocess.check_call(["ls", "-la"]) print("Exit status: ", status)
這段代碼將運(yùn)行ls -la
命令,并打印其退出狀態(tài)碼。如果命令成功執(zhí)行,狀態(tài)碼為0,否則為1。
另一個有用的函數(shù)是psutil
庫中的process_iter()
函數(shù)。該函數(shù)可以獲取當(dāng)前正在運(yùn)行的所有進(jìn)程,并返回一個可迭代對象。
import psutil for process in psutil.process_iter(): try: process_name = process.name() pid = process.pid cpu_usage = process.cpu_percent() mem_usage = process.memory_percent() print("Process Name: ", process_name, "\tPID: ", pid) print("CPU Usage: ", cpu_usage, "%\tMemory Usage: ", mem_usage, "%") print("=" * 80) except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess): pass
這段代碼將獲取當(dāng)前所有進(jìn)程的名稱、PID、CPU和內(nèi)存使用情況,并將其打印出來。由于一些進(jìn)程可能無法訪問或已過時,代碼需要進(jìn)行異常處理。
使用Python查找和操作進(jìn)程非常方便。在處理進(jìn)程時,我們可以使用subprocess
和psutil
中的函數(shù)和方法,以及其他一些庫實(shí)現(xiàn)其它高級功能。