Répertorier les processus en cours d'exécution et les fichiers ouverts sous Linux
La liste des processus en cours d'exécution sur un système Linux est une tâche courante pour les administrateurs système et les développeurs. Cependant, la plupart des solutions disponibles nécessitent la lecture directe du système de fichiers /proc/, ce qui peut être sujet aux erreurs et inefficace.
Éviter l'accès direct au système de fichiers /proc/
Pour éviter les inconvénients de l'accès direct au système de fichiers /proc/, des approches alternatives peuvent être explorées :
1. Bibliothèque Procps-ng (libproc)
Procps-ng est une suite robuste d'outils de surveillance de processus qui inclut la bibliothèque procps (libproc). Cette bibliothèque fournit une API complète pour obtenir des informations sur les processus en cours d'exécution, y compris les fichiers ouverts. Il peut être téléchargé depuis GitLab :
2. En-tête libproc
La plupart des distributions Linux incluent une bibliothèque appelée libproc qui fournit une API similaire à procps-ng. Le fichier /proc/readproc.c dans le code source de procps-ng fournit une référence utile pour comprendre comment utiliser cette bibliothèque.
Exemple d'utilisation
Pour utiliser l'un ou l'autre de ces API, vous pouvez suivre un processus général :
Ressources supplémentaires
Voici quelques ressources supplémentaires que vous pourriez trouver utile :
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!