Maison  >  Article  >  développement back-end  >  Comment vérifier si l’application est ouverte en Python ?

Comment vérifier si l’application est ouverte en Python ?

王林
王林avant
2023-08-26 18:49:051477parcourir

Comment vérifier si l’application est ouverte en Python ?

Le programme en cours d'exécution est appelé un processus. Un processus peut être une application exécutée sur le système d'exploitation actuel ou une application liée au système d'exploitation. Si une application est liée au système d'exploitation, elle crée d'abord un processus pour s'exécuter.

D'autres applications s'appuient sur les services du système d'exploitation pour leur exécution. La plupart des applications sont des services du système d'exploitation et des applications d'arrière-plan qui gèrent le système d'exploitation, les logiciels et le matériel.

En python, nous avons différentes manières de vérifier si une application est ouverte ou non. Apprenons-les en détail un par un.

Utilisez la fonction psutil.process_iter()

psutil est un module en python qui fournit aux utilisateurs une interface pour récupérer des informations sur les processus en cours et l'utilisation du système. Il peut être utilisé sur les systèmes d'exploitation grand public et les plates-formes API telles que Linux, Windows, macOS, Solaris et AIX.

La fonction process_iter() du module psutil nous aide à récupérer des informations sur le processus en cours d'exécution, telles que le nom du processus, l'ID du processus, l'utilisation du processeur, l'utilisation de la mémoire, etc. Il fournit également des informations sur l'utilisation du système, telles que l'utilisation du disque, l'utilisation du réseau, etc.

Exemple

Dans cet exemple, nous essayons de savoir si un processus nommé "Chrome.exe" est actuellement en cours d'exécution sur notre système.

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

Sortie

False

Exemple

Ceci est un autre exemple de la fonction process_iter() du module psutil, qui fournit les détails d'un processus.

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

Sortie

Ce qui suit est le résultat de process_iter() qui fournit des informations complètes sur l'application.

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%

Utiliser le module de sous-processus

Le module de sous-processus est un autre moyen de vérifier si une application est en cours d'exécution ou arrêtée. En utilisant le module subprocess, nous pouvons démarrer une nouvelle application à partir du programme Python actuel. Nous pouvons utiliser la méthode check_output() pour obtenir la sortie des programmes et des commandes.

Exemple

Dans l'exemple ci-dessous, nous essayons de vérifier que l'application est ouverte à l'aide de la fonction 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")

Sortie

True

Utiliser le module wmi

Windows Management Instrumentation est un ensemble d'outils du système d'exploitation Windows qui permet aux administrateurs de gérer les ordinateurs distants et locaux.

En Python, nous avons le module wmi, qui nous aide à vérifier si l'application est en cours d'exécution. Le code suivant est utilisé pour installer wmi dans un environnement python.

pip install wmi

Exemple

Dans cet exemple, nous passons le nom de l'application en paramètre d'entrée à la fonction WMI() du module wmi pour récupérer l'état de l'application avec l'ID du processus.

import wmi
f = wmi.WMI()
for process in f.Win32_Process():
    print(f"{process.ProcessId:>5} {process.Name}")

Sortie

Ce qui suit est le résultat de la fonction WMI() du module 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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer