Woher erhält der Befehl "top" seine Informationen in Linux?

2661
Evan Fosmark

Aus welchen Dateien liest der Linux-Befehl "top", um seine Datentabelle aufzubauen? Insbesondere möchte ich die Daten für die Spalte "Befehl" anhand einer PID ermitteln können.

5
Welche Daten suchen Sie? Vollständiger Pfad und Argumente? andere? Doug Harris vor 15 Jahren 0

3 Antworten auf die Frage

9
niXar

Es ist in / proc / $ pid / cmdline. Die Felder sind nicht getrennt. Beispiel auf meiner Maschine:

$ xargs -0 echo < /proc/4263/cmdline  /usr/lib64/firefox-3.5.3/firefox -no-remote -P default $ 
1
BinaryMisfit

Sie können ps verwenden, um den Namen des Befehlslinks zu einer bestimmten PID abzurufen

ps [PID]

Außerdem erhalten Sie zusätzliche Informationen zu den von Ihnen übergebenen Parametern. Sehen Sie hier für weitere Details.

Alternativ können Sie den Top- Quellcode herunterladen, der Ihnen eine genauere Antwort auf die Frage geben soll.

In diesem PerlMonks-Artikel wird auch beschrieben, wie Sie top auf einem AIX-System simulieren, wobei auch der Befehl ps verwendet wird.

Der Beispielcode zeigt PS (Großbuchstaben). Achtung Linux-Neulinge, das funktioniert nicht - verwenden Sie "ps" (Kleinbuchstaben). Der Rest von euch wusste das schon. Doug Harris vor 15 Jahren 1
@Doug - Behoben Aufsicht auf meiner Seite. Danke fürs klarstellen. BinaryMisfit vor 15 Jahren 0
1
Greg Buehler

top erhält seine Informationen aus den Dateien in procfs aka / proc

Sie können basierend auf der PID abfragen, indem Sie verwenden

ps

leider erinnere ich mich nicht an die syntax des befehls ...

"man ps" oder "ps --help" Doug Harris vor 15 Jahren 1