Das ausgeführte Programm wird als Prozess bezeichnet. Ein Prozess kann eine Anwendung sein, die auf dem aktuellen Betriebssystem ausgeführt wird, oder eine Anwendung, die mit dem Betriebssystem zusammenhängt. Wenn eine Anwendung an das Betriebssystem gebunden ist, erstellt sie zunächst einen Prozess, um sich selbst auszuführen.
Andere Anwendungen sind zur Ausführung auf Betriebssystemdienste angewiesen. Bei den meisten Anwendungen handelt es sich um Betriebssystemdienste und Hintergrundanwendungen, die das Betriebssystem, die Software und die Hardware warten.
In Python haben wir verschiedene Möglichkeiten zu überprüfen, ob die Anwendung geöffnet ist oder nicht. Lassen Sie uns sie einzeln im Detail kennenlernen.
psutil ist ein Modul in Python, das Benutzern eine Schnittstelle zum Abrufen von Informationen über laufende Prozesse und Systemauslastung bietet. Es kann auf gängigen Betriebssystemen und API-Plattformen wie Linux, Windows, macOS, Solaris und AIX verwendet werden.
Die Funktion „process_iter()“ des psutil-Moduls hilft uns, Informationen über den laufenden Prozess abzurufen, wie z. B. Prozessname, Prozess-ID, CPU-Auslastung, Speichernutzung usw. Es bietet auch Informationen zur Systemauslastung wie Festplattennutzung, Netzwerknutzung usw.
In diesem Beispiel versuchen wir herauszufinden, ob derzeit ein Prozess namens „Chrome.exe“ in unserem System ausgeführt wird.
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
Dies ist ein weiteres Beispiel für die Funktion „process_iter()“ des Moduls „psutil“, das Details zu einem Prozess bereitstellt.
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}%")
Das Folgende ist die Ausgabe von process_iter(), die vollständige Informationen über die Anwendung liefert.
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%
Das Unterprozessmodul ist eine weitere Möglichkeit, zu überprüfen, ob eine Anwendung ausgeführt oder gestoppt wird. Mit dem Subprocess-Modul können wir eine neue Anwendung aus dem aktuellen Python-Programm starten. Wir können die Methode check_output() verwenden, um die Ausgabe von Programmen und Befehlen zu erhalten.
Im folgenden Beispiel versuchen wir mithilfe der Funktion check_output() zu überprüfen, ob die Anwendung geöffnet ist –
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
Windows Management Instrumentation ist eine Reihe von Tools im Windows-Betriebssystem, die es Administratoren ermöglichen, Remote- und lokale Computer zu verwalten.
In Python gibt es ein WMI-Modul, mit dem wir überprüfen können, ob die Anwendung ausgeführt wird. Der folgende Code wird verwendet, um WMI in einer Python-Umgebung zu installieren.
pip install wmi
In diesem Beispiel übergeben wir den Anwendungsnamen als Eingabeparameter an die WMI()-Funktion des WMI-Moduls, um den Status der Anwendung mit der Prozess-ID abzurufen.
import wmi f = wmi.WMI() for process in f.Win32_Process(): print(f"{process.ProcessId:>5} {process.Name}")
Das Folgende ist die Ausgabe der WMI()-Funktion des WMI-Moduls.
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
Das obige ist der detaillierte Inhalt vonWie überprüfe ich, ob die Anwendung in Python geöffnet ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!