Heim >Backend-Entwicklung >C++ >Wie kann ich laufende Linux-Prozesse und ihre geöffneten Dateien auflisten, ohne direkt auf „/proc' zuzugreifen?

Wie kann ich laufende Linux-Prozesse und ihre geöffneten Dateien auflisten, ohne direkt auf „/proc' zuzugreifen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-11 11:39:19381Durchsuche

How Can I List Running Linux Processes and Their Open Files Without Directly Accessing `/proc`?

Aufzählung von Prozessen und zugehörigen offenen Dateien

Frage:

Wie kann ich eine Liste erhalten? von laufenden Prozessen auf einem Linux-System und ermitteln, welche Dateien sie geöffnet haben, ohne auf eine direkte Inspektion der Datei /proc/ zurückgreifen zu müssen System?

Antwort:

Verwenden von Procps-ng

Das Procps-ng-Projekt stellt den Quellcode für das Widely bereit Verwendete PS und andere Prozessuntersuchungstools. Ihre Implementierung nutzt das Dateisystem /proc/, um Prozessinformationen zu sammeln. Für detaillierte Einblicke in ihren Ansatz können Sie die Datei readproc.c in ihrem Quellcode-Repository untersuchen:

https://gitlab.com/procps-ng/procps/-/blob/master/library/readproc.c

Nutzung von Libproc

Eine alternative Methode ist die Verwendung die libproc-Bibliothek, die eine umfassende API für den Zugriff auf Prozessinformationen bereitstellt. Es sollte in den meisten Repositories verfügbar sein und stellt Header und andere wichtige Komponenten in seiner „-dev“-Variante bereit. Informationen zur Installation erhalten Sie von Ihrem spezifischen Paketmanager.

Zusätzliche Tipps:

  • Verwenden Sie den Befehl pmap, um festzustellen, ob der Zielprozess auf den gemeinsamen Speicher zugreift
  • Konsultieren Sie die Manpages von proc und libproc für eine umfassende Dokumentation

Das obige ist der detaillierte Inhalt vonWie kann ich laufende Linux-Prozesse und ihre geöffneten Dateien auflisten, ohne direkt auf „/proc' zuzugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn