Énumération des processus et des fichiers ouverts associés
Question :
Comment puis-je obtenir une liste des processus en cours d'exécution sur un système Linux et déterminer quels fichiers ils ont ouverts sans recourir à l'inspection directe du fichier /proc/ système ?
Réponse :
Utilisation de Procps-ng
Le projet Procps-ng fournit le code source du largement utilisé ps et d'autres outils d'investigation de processus. Leur implémentation utilise le système de fichiers /proc/ pour collecter des informations sur les processus. Pour des informations détaillées sur leur approche, vous pouvez examiner le fichier readproc.c dans leur référentiel de code source :
https://gitlab.com/procps-ng/procps/-/blob/master/library/readproc.c
Exploiter Libproc
Une méthode alternative consiste à utiliser la bibliothèque libproc, qui fournit une API complète pour accéder aux informations sur les processus. Il devrait être disponible dans la plupart des référentiels et fournit des en-têtes et d'autres composants essentiels dans sa variante "-dev". Consultez votre gestionnaire de packages spécifique pour les détails d'installation.
Conseils supplémentaires :
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!