J'ai une bibliothèque partagée (fichier .so) sous UNIX. J'ai besoin de savoir ce que tous les processus en cours d'utilisation. Unix fournit-il un tel utilitaire/une telle commande?Tous les processus utilisent la bibliothèque partagée
Répondre
Vous pouvez inspecter le contenu de /proc/<pid>/maps
pour voir quels fichiers sont mappés dans chaque processus. Vous devrez inspecter tous les processus, mais qui est plus facile qu'il n'y paraît:
$ grep -l /lib/libnss_files-2.11.1.so /proc/*/maps
/proc/15620/maps
/proc/22439/maps
/proc/22682/maps
/proc/32057/maps
Cela ne fonctionne que sur le système de fichiers Linux /proc
, autant que je sache.
Une solution rapide serait d'utiliser la commande lsof
[[email protected]]# lsof /lib/libattr.so.1
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
gdm-binar 11442 root mem REG 8,6 30899 295010 /lib/libattr.so.1.1.0
gdm-binar 12195 root mem REG 8,6 30899 295010 /lib/libattr.so.1.1.0
Cela devrait fonctionner non seulement pour .so
fichiers, mais tous les autres fichiers, dirs, points de montage, etc.
N.B. lsof
affiche tous les processus qui utilisent un fichier, donc il y a une possibilité très faible d'un faux positif si un processus ouvre le fichier *.so
mais ne l'utilise pas réellement. Si c'est un problème pour vous, alors Marcelo's answer serait le chemin à parcourir.
Do dans tous les répertoires d'intérêt
ldd * >ldd_output
vi ldd_output
ensuite chercher le nom de la bibliothèque, par exemple "ALib.so". Ceci montre tous les modules liés par ex. "aLib.so"
- 1. Variable globale dans une bibliothèque partagée/dll, partagée entre processus
- 2. débogage Bibliothèque partagée dans le processus
- 3. La mémoire partagée n'est pas partagée entre les processus
- 4. Remplacement de la bibliothèque partagée sous AIX
- 5. Bibliothèque statique en fonction de la bibliothèque partagée
- 6. Bibliothèque partagée Linux qui utilise une bibliothèque partagée non définie
- 7. Sempahores la mémoire partagée et processus (IPC)
- 8. bibliothèque partagée sous Ubuntu
- 9. Lien une bibliothèque partagée statique à ma bibliothèque partagée
- 10. C partagée question bibliothèque
- 11. Variable partagée parmi les processus Ruby
- 12. Journalisation Threadsafe à l'intérieur de la bibliothèque partagée C++
- 13. bibliothèque partagée en C
- 14. taille de fichier de la bibliothèque partagée
- 15. variables statiques/globales dans la bibliothèque partagée en langage C
- 16. Classes abstraites dans la bibliothèque partagée
- 17. CMake: Bibliothèque partagée qui utilise la bibliothèque statique
- 18. Comment lister tous les processus qui utilisent/accèdent à un pilote de noyau Linux donné
- 19. comment lier la bibliothèque partagée par rapport à une autre bibliothèque partagée sous Linux?
- 20. Puis-je créer une bibliothèque partagée qui a à la fois bibliothèque statique et partagée?
- 21. Compiler une bibliothèque partagée statiquement
- 22. Non disponible Bibliothèque partagée - INSTALL_FAILED_MISSING_SHARED_LIBRARY
- 23. Charger plusieurs copies d'une bibliothèque partagée
- 24. adresse space Bibliothèque ou Processus
- 25. De retour d'une table de symboles de la bibliothèque partagée
- 26. Impossible d'insérer un point d'arrêt dans la bibliothèque partagée
- 27. verrouillage de la mémoire partagée et plantage du processus
- 28. Mémoire partagée entre 2 processus (applications)
- 29. Bibliothèque partagée de polices Flex et Embbed
- 30. Liaison d'erreurs lors de la création d'une bibliothèque partagée
Ceci est un excellent conseil. Merci Shawn. –