Heim  >  Artikel  >  Backend-Entwicklung  >  Wie überprüfe ich, ob die Anwendung in Python geöffnet ist?

Wie überprüfe ich, ob die Anwendung in Python geöffnet ist?

王林
王林nach vorne
2023-08-26 18:49:051475Durchsuche

Wie überprüfe ich, ob die Anwendung in Python geöffnet ist?

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.

Verwenden Sie die Funktion psutil.process_iter()

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.

Beispiel

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")

Ausgabe

False

Beispiel

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}%")

Ausgabe

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%

Unterprozessmodul verwenden

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.

Beispiel

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")

Ausgabe

True

WMI-Modul verwenden

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

Beispiel

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}")

Ausgabe

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen