Problème : Identifier les processus Python en cours d'exécution
Surveiller les processus Python actifs est important pour gérer les ressources système et résoudre les problèmes de performance. Il peut être difficile de suivre plusieurs scripts Python s'exécutant simultanément, en particulier lors du travail avec des applications complexes ou des tâches automatisées.
Utilisation de la commande 'ps' pour lister les processus Python
Utilisation de base de la commande 'ps'
La commande 'ps' affiche des informations sur les processus actifs sur un système de type Unix. Elle montre un instantané des processus en cours, y compris leur identifiant de processus (PID), le terminal, l'utilisation du CPU, et plus encore.
Pour lister les processus Python à l'aide de 'ps', combinez-la avec la commande 'grep' :
ps aux | grep python
Cette commande affiche les processus contenant "python" dans leur nom ou leur ligne de commande. Les options 'aux' donnent une vue détaillée de tous les processus pour tous les utilisateurs.
Conseil: Exclure grep des résultats
Pour exclure la commande 'grep' elle-même des résultats, utilisez la commande suivante :
ps aux | grep '[p]ython'
Cette astuce utilise des crochets autour de la première lettre, ce qui correspond à 'python' mais pas à '[p]ython', filtrant efficacement le processus grep lui-même.
Options avancées de 'ps' pour des informations détaillées
Pour plus de détails sur les processus Python, utilisez ces options avec la commande 'ps' :
ps -eo pid,ppid,user,%cpu,%mem,start,time,command | grep python
Cette commande fournit :
- PID : Identifiant du processus
- PPID : Identifiant du processus parent
- USER : Utilisateur exécutant le processus
- %CPU : Utilisation du CPU
- %MEM : Utilisation de la mémoire
- START : Heure de démarrage du processus
- TIME : Temps CPU
- COMMAND : Ligne de commande complète
Pour lire cette sortie :
- Vérifiez le PID pour identifier des processus spécifiques.
- Regardez les colonnes %CPU et %MEM pour l'utilisation des ressources.
- Les colonnes START et TIME montrent quand le processus a commencé et sa durée d'exécution.
- La colonne COMMAND affiche la commande Python complète, ce qui peut aider à identifier le script ou l'application.
L'utilisation de ces options 'ps' vous donne une vue claire de vos processus Python et de leur utilisation des ressources.
Utilisation de 'pgrep' pour l'identification des processus Python
Introduction à 'pgrep'
'pgrep' est un outil qui recherche des processus en fonction de leurs noms ou attributs. Il aide à trouver les identifiants de processus (PID) des programmes en cours d'exécution. 'pgrep' est simple et peut filtrer facilement les processus.
Pour utiliser 'pgrep' avec Python, utilisez cette syntaxe de base :
pgrep python
Cette commande liste les PID des processus avec "python" dans leur nom. Pour plus de détails, utilisez l'option '-l' :
pgrep -l python
Cela affiche à la fois le PID et le nom du processus.
Conseil: Utilisation de 'pgrep' avec des expressions régulières
Vous pouvez utiliser des expressions régulières avec 'pgrep' pour un matching plus précis. Par exemple, pour trouver des processus Python avec des numéros de version :
pgrep -f "python23?"
Cela correspond aux processus comme "python3", "python3.8", ou "python2.7".
Combinaison de 'pgrep' avec d'autres commandes
Vous pouvez combiner 'pgrep' avec d'autres commandes pour plus d'opérations. Voici quelques exemples :
Pour tuer tous les processus Python :
pkill -f python
Pour voir les lignes de commande complètes des processus Python :
pgrep -af python
Pour lister les processus Python d'un utilisateur spécifique :
pgrep -u nom_utilisateur python
Pour compter les processus Python en cours d'exécution :
pgrep python | wc -l
Pour obtenir des informations détaillées sur les processus Python :
pgrep python | xargs ps -fp