Ich habe eine gemeinsame Bibliothek (. So Datei) unter UNIX. Ich muss wissen, was alle laufenden Prozesse verwenden. Liefert Unix ein solches Dienstprogramm/Kommando?Welche alle Prozesse gemeinsame Bibliothek verwenden
Antwort
Sie können den Inhalt von /proc/<pid>/maps
überprüfen, um zu sehen, welche Dateien in jedem Prozess zugeordnet sind. Sie werden jeden Prozess überprüfen müssen, aber das ist einfacher als es klingt:
$ grep -l /lib/libnss_files-2.11.1.so /proc/*/maps
/proc/15620/maps
/proc/22439/maps
/proc/22682/maps
/proc/32057/maps
Dies funktioniert nur auf dem Linux-Dateisystem /proc
, AFAIK.
Eine schnelle Lösung wäre die lsof Befehl verwenden
[[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
Dies sollte nicht nur für .so
Dateien arbeiten, aber andere Dateien, Verzeichnisse, Einhängepunkte usw.
N. B. lsof
zeigt alle Prozesse an, die eine Datei verwenden. Es besteht daher eine sehr geringe Wahrscheinlichkeit für ein falsches positives Ergebnis, wenn ein Prozess die Datei *.so
öffnet, aber nicht verwendet. Wenn dies ein Problem für Sie ist, dann wäre Marcelo's answer der Weg zu gehen.
Do in allen Verzeichnissen von Interesse
ldd * >ldd_output
vi ldd_output
Dann für die Bibliotheksnamen suchen, zum Beispiel "ALib.so". Dies zeigt alle Module, die z.B. "aLib.so"
- 1. Welche jpcap-Bibliothek verwenden?
- 2. Wie Spring Booth eine gemeinsame Bibliothek verwenden
- 3. Welche Continuous Integration-Bibliothek verwenden?
- 4. Welche Logging-Bibliothek für sprachübergreifendes (Java, C++, Python) System verwenden
- 5. Gemeinsame Bibliothek, Makefile. Bibliothekspfad
- 6. Gemeinsame Bibliothek in Go?
- 7. Segmentierungsfehler, gemeinsame Bibliothek
- 8. Welche Maschine Bibliothek Lernen zu verwenden
- 9. Welche Team-Workflow-Prozesse verwenden Sie in Bezug auf Git?
- 10. Kompilieren eine gemeinsame Bibliothek statisch
- 11. Haskell: welche SOAP-Client-Bibliothek zu verwenden?
- 12. C++: Welche Regex-Bibliothek sollte ich verwenden?
- 13. Welche Bibliothek muss ich für HtmlWeb verwenden?
- 14. Welche ftp-Bibliothek in VB6 zu verwenden
- 15. Gemeinsame utils-Bibliothek für .net
- 16. Spawning neue Prozesse verwenden alle CPU-Kerne in Elixir
- 17. C++ Code in eine gemeinsame Bibliothek erstellen
- 18. Pycharm: alle laufenden Prozesse beenden
- 19. Welche Speicherbereinigungsalgorithmen verwenden alle 5 wichtigsten Browser?
- 20. Wie können mehrere Prozesse in Erlang gleichzeitig eine gemeinsame Liste verwenden?
- 21. SQLCLR Community Extensions oder gemeinsame Bibliothek
- 22. System.loadLibrary zweimal für dieselbe gemeinsame Bibliothek aufrufen
- 23. Dynamisch gemeinsame Bibliothek von SD-Karte laden
- 24. Python Twitter-Bibliothek: welche?
- 25. Gebäude und verbindet eine gemeinsame Bibliothek
- 26. Gemeinsame Konstanten für alle Sprachen
- 27. Gemeinsame Fußzeile für alle Webseiten
- 28. MatLab C++ Gemeinsame Dll-Bibliothek Initialisierung Crash
- 29. Kann ich feststellen, welche Compiler-/Linker-Flags verwendet werden, um eine binäre gemeinsame Bibliothek zu erstellen?
- 30. Welche XML-RPC-Bibliothek?
Dies ist ein guter Tipp. Danke Shawn. –