正在執行的程式稱為行程。進程可以是當前作業系統上運行的應用程序,也可以是與作業系統相關的應用程式。如果一個應用程式與作業系統相關,它首先會創建一個進程來執行自己。
其他應用程式依賴作業系統服務來執行。大多數應用程式是作業系統服務以及維護作業系統、軟體和硬體的後台應用程式。
在 python 中,我們有不同的方法來檢查應用程式是否開啟。讓我們一一詳細了解它們。
使用 psutil.process_iter() 函數
psutil 是 python 中的一個模組,它為使用者提供一個介面來檢索正在運行的進程和系統利用率的資訊。可用於Linux、windows、macOs、solaris、AIX等主流作業系統以及API平台。
psutil 模組的 process_iter() 函數幫助我們檢索有關正在運行的進程的信息,例如進程名稱、進程 ID、CPU 使用情況、記憶體使用情況等。它還提供有關係統利用率的信息,例如磁碟使用情況、網路使用情況等。
範例
在此範例中,我們試圖找出名為「Chrome.exe」的進程目前是否正在我們的系統中執行。
import psutil def check_if_process_running(process_name): for process in psutil.process_iter(['name']): if process.info['name'] == process_name: return True return False check_if_process_running("Chrome.exe")
輸出
False
範例
這是 psutil 模組的 process_iter() 函數的另一個範例,它提供了進程的詳細資訊。
import psutil processes = psutil.process_iter() for process in processes: print(f"Process name: {process.name()} | PID: {process.pid}") cpu_percent = psutil.cpu_percent() print(f"CPU usage: {cpu_percent}%") memory_usage = psutil.virtual_memory() print(f"Total memory: {memory_usage.total / 1024 / 1024:.2f} MB") print(f"Available memory: {memory_usage.available / 1024 / 1024:.2f} MB") print(f"Memory usage: {memory_usage.percent}%")
輸出
以下是 process_iter() 的輸出,它提供了有關應用程式的全部資訊。
Process name: chrome.exe | PID: 15964 Process name: chrome.exe | PID: 16876 CPU usage: 10.6% Total memory: 12152.65 MB Available memory: 5849.83 MB Memory usage: 51.9%
使用子流程模組
子進程模組是檢查應用程式是否正在運行或停止的另一種方法。使用 subprocess 模組,我們可以從目前的 Python 程式啟動一個新的應用程式。我們可以使用 check_output() 方法來取得程式、指令的輸出。
範例
在下面的範例中,我們嘗試使用 check_output() 函數來驗證應用程式是否開啟 –
import subprocess def is_process_running(process_name): cmd = 'tasklist /fi "imagename eq {}"'.format(process_name) output = subprocess.check_output(cmd, shell=True).decode() if process_name.lower() in output.lower(): return True else: return False is_process_running("chrome.exe")
輸出
True
使用wmi模組
Windows Management Instrumentation 是 Windows 作業系統中的一組工具,可讓管理員管理遠端和本機。
在Python中,我們有wmi模組,它可以幫助我們檢查應用程式是否正在運行。以下程式碼用於在python環境中安裝wmi。
pip install wmi
範例
在此範例中,我們將應用程式名稱作為輸入參數傳遞給 wmi 模組的 WMI() 函數,以檢索具有進程 ID 的應用程式的狀態。
import wmi f = wmi.WMI() for process in f.Win32_Process(): print(f"{process.ProcessId:>5} {process.Name}")
輸出
下面是wmi模組的WMI()函數的輸出。
0 System Idle Process 4 System 124 Registry 524 smss.exe 752 csrss.exe 868 csrss.exe 888 wininit.exe 940 services.exe 960 lsass.exe 320 winlogon.exe 980 svchost.exe 1048 fontdrvhost.exe 1056 fontdrvhost.exe 1144 WUDFHost.exe 1180 svchost.exe 1268 svchost.exe 1292 WUDFHost.exe 1396 svchost.exe 1404 svchost.exe 1412 svchost.exe 1528 svchost.exe 1640 dwm.exe 1660 svchost.exe
以上是如何在Python中檢查應用程式是否開啟?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3漢化版
中文版,非常好用

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中