Heim >Backend-Entwicklung >C++ >Wie kann ich laufende Linux-Prozesse und ihre geöffneten Dateien auflisten, ohne direkt auf „/proc' zuzugreifen?
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:
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!