proc_pid_stat(5) File Formats Manual proc_pid_stat(5) BEZEICHNUNG /proc/pid/stat - Statusinformationen BESCHREIBUNG /proc/PID/stat Statusinformationen des Prozesses. Wird von ps(1) benutzt. Sie werden in der Kernelquelldatei fs/proc/array.c definiert. Die Felder werden in dieser Reihenfolge mit ihrem passenden scanf(3)-Formatkennzeichnern unten aufgefuhrt. Ob bestimmte dieser Felder gultige Informationen anzeigen, wird von einer Ptrace-Zugriffsmodusprufung PTRACE_MODE_READ_FSCREDS | PTRACE_MODE_NOAUDIT gesteuert (siehe ptrace(2)). Falls die Prufung den Zugriff verweigert, wird der Feldwert mit 0 angegeben. Die betroffenen Felder werden mit der Markierung [PT] gekennzeichnet. (1) pid %d Die Prozesskennung. (2) comm %s Der Name der ausfuhrbaren Datei, in Klammern. Zeichenketten langer als TASK_COMM_LEN (16) Zeichen (einschliesslich des abschliessenden Nullbytes) werden ohne Ruckmeldung abgeschnitten. Dies wird angezeigt, unabhangig davon, ob das Programm ausgelagert ist oder nicht. (3) state %c Eines der folgenden Zeichen zur Angabe des Prozesszustandes: R Laufend S Schlafend in einem unterbrechbaren Wartezustand D Wartend in einem nicht unterbrechbaren Plattenschlaf Z Zombie T Gestoppt (aufgrund eines Signals) oder (vor Linux 2.6.33) Verfolgung gestoppt t Verfolgung gestoppt (seit Linux 2.6.33) W Paging (nur vor Linux 2.6.0) X Getotet (seit Linux 2.6.0) x Getotet (nur Linux 2.6.33 bis 3.13) K Wakekill (nur Linux 2.6.33 bis 3.13) W Aufwachend (nur Linux 2.6.33 bis 3.13) P Geparkt (nur Linux 3.9 bis 3.13) I Leerlauf (Linux 4.14 und neuer) (4) ppid %d Die Prozesskennung (PID) des Elternprozesses dieses Prozesses. (5) pgrp %d Die Prozess-Gruppenkennung des Prozesses. (6) session %d Die Sitzungskennung des Prozesses. (7) tty_nr %d Das steuernde Terminal des Prozesses. (Die Minor-Geratenummer ist in der Kombination der Bits 31 bis 20 und 7 bis 0 enthalten; die Major-Geratenummer befindet sich in den Bits 15 bis 8.) (8) tpgid %d Die Kennung der Vordergrund-Prozessgruppe des steuernden Terminals des Prozesses. (9) flags %u Das Wort mit den Kernel-Schaltern des Prozesses. Die Bedeutung der Bits finden Sie in den PF_*-#define-Anweisungen in der Linux-Quellcodedatei . Die Details hangen von der Kernel-Version ab. Das Format dieses Feldes war %lu vor Linux 2.6. (10) minflt %lu Die Anzahl geringfugiger Ausnahmebehandlungen des Prozesses, die kein Nachladen einer Speicherseite von Platte erforderlich gemacht haben. (11) cminflt %lu Die Anzahl geringfugiger Ausnahmebehandlungen der Kindprozesse des Prozesses, auf die der Prozess wartete. (12) majflt %lu Die Anzahl wesentlicher Ausnahmebehandlungen des Prozesses, die das Nachladen einer Speicherseite von der Platte erforderten. (13) cmajflt %lu Die Anzahl wesentlicher Ausnahmebehandlungen der Kindprozesse des Prozesses, auf die der Prozess wartete. (14) utime %lu Gesamtzeit, die dieser Prozess im Benutzermodus verbracht hat, gemessen in Uhren-Ticks (dividieren Sie durch sysconf(_SC_CLK_TCK)). Das umfasst Gastzeit, guest_time (aufgewendete Zeit fur den Betrieb einer virtuellen CPU, siehe unten), so dass Anwendungen, die das Gastzeit-Feld nicht kennen, diese Zeit in ihren Berechnungen nicht ausser acht lassen. (15) stime %lu Gesamtzeit, die dieser Prozess im Kernel-Modus verbracht hat, gemessen in Uhren-Ticks (dividieren Sie durch sysconf(_SC_CLK_TCK)). (16) cutime %ld Gesamtzeit, die abgewartete Kindprozesse im Benutzermodus verbracht haben, gemessen in Uhren-Ticks (dividieren Sie durch sysconf(_SC_CLK_TCK)) (siehe auch times(2)). Das umfasst Gastzeit, guest_time (Laufzeit in einer virtuellen CPU, siehe unten). (17) cstime %ld Gesamtzeit, die abgewartete Kindprozesse im Kernel-Modus verbracht haben, gemessen in Uhren-Ticks (dividieren Sie durch sysconf(_SC_CLK_TCK)). (18) priority %ld (Erklarung fur Linux 2.6) Fur Prozesse, die im Scheduling eine Echtzeit-Strategie verfolgen (policy weiter unten, siehe sched_setscheduler(2)), ist dies die negierte Scheduling-Prioritat minus eins, das heisst, eine Zahl im Bereich von -2 bis -100, entsprechend den Echtzeitprioritaten 1 bis 99. Fur Prozesse, deren Scheduling keine Echtzeit-Strategie verfolgt, ist dies der rohe Nice-Wert (setpriority(2)), wie er im Kernel dargestellt ist. Der Kernel speichert Nice-Werte als Zahlen im Bereich 0 (hoch) bis 39 (niedrig), entsprechend des fur den Benutzer sichtbaren Nice-Bereichs von -20 bis 19. Vor Linux 2.6 war dies ein skalierter Wert auf Grundlage des vom Scheduler an den Prozess zugewiesenen Gewichts. (19) nice %ld Der Nice-Wert (siehe setpriority(2)), ein Wert im Bereich von 19 (niedrige Prioritat) bis -20 (hohe Prioritat). (20) num_threads %ld Anzahl von Threads in diesem Prozess (seit Linux 2.6). Vor Linux 2.6 war dieses Feld mit dem Wert 0 als Platzhalter fur ein fruher entferntes Feld hartkodiert. (21) itrealvalue %ld Die Zeit (in Jiffies), bevor dem Prozess aufgrund eines Intervall-Timers ein SIGALRM gesendet wird. Seit Linux 2.6.17 wird dieses Feld nicht mehr gewartet und wird mit 0 hartkodiert. (22) starttime %llu Die Zeit, zu der der Prozess nach dem Systemstart gestartet wurde. In Linux vor 2.6 wurde dieser Wert in Jiffies ausgegeben. Seit Linux 2.6 wird der Wert in Uhren-Ticks ausgedruckt (teilen Sie diese durch sysconf(_SC_CLK_TCK)). Das Format dieses Feldes war %lu vor Linux 2.6. (23) vsize %lu Grosse des virtuellen Speichers in Bytes. (24) rss %ld Resident Set Size: Anzahl der Seiten, die der Prozess tatsachlich im Speicher hat. Dabei zahlen nur die Seiten von Text, Daten und Stack. Nicht abgerufene oder ausgelagerte Bereiche zahlen nicht mit. Dieser Wert ist ungenau, siehe /proc/PID/statm weiter unten. (25) rsslim %lu Aktuelle weiche Grenze fur die RSS des Prozesses; siehe die Beschreibung von RLIMIT_RSS in getrlimit(2). (26) startcode %lu [PT] Die Adresse, oberhalb derer Programmtext ausgefuhrt werden kann. (27) endcode %lu [PT] Die Adresse, unterhalb derer Programmtext ausgefuhrt werden kann. (28) startstack %lu [PT] Die Startadresse des Stacks (also der >>Boden<<). (29) kstkesp %lu [PT] Derzeitiger Wert von ESP (Stack Pointer), wie er in der Kernel-Stack-Seite fur diesen Prozess steht. (30) kstkeip %lu [PT] Der aktuelle EIP (Instruction Pointer, Anweisungszeiger). (31) signal %lu Die Bitmap anstehender Signale, angezeigt als Dezimalzahl. Obsolet, weil sie keine Informationen uber Echtzeitsignale gibt; verwenden Sie stattdessen /proc/PID/status. (32) blocked %lu Die Bitmap blockierter Signale, angezeigt als Dezimalzahl. Obsolet, weil sie keine Informationen uber Echtzeitsignale gibt; verwenden Sie stattdessen /proc/PID/status. (33) sigignore %lu Die Bitmap ignorierter Signale, angezeigt als Dezimalzahl. Obsolet, weil sie keine Informationen uber Echtzeitsignale gibt; verwenden Sie stattdessen /proc/PID/status. (34) sigcatch %lu Die Bitmap abgefangener Signale, angezeigt als Dezimalzahl. Obsolet, weil sie keine Informationen uber Echtzeitsignale gibt; verwenden Sie stattdessen /proc/PID/status. (35) wchan %lu [PT] Dies ist der >>Kanal<<, in dem der Prozess wartet. Es ist die Adresse des Orts im Kernel, an dem der Prozess schlaft. Der entsprechende symbolische Name kann in /proc/PID/wchan gefunden werden. (36) nswap %lu Anzahl ausgelagerter Seiten (nicht gewartet). (37) cnswap %lu Aufaddiertes nswap der Kindprozesse (nicht gewartet). (38) exit_signal %d (seit Linux 2.1.22) Das an den Elternprozess zu sendende Signal, wenn wir sterben. (39) processor %d (seit Linux 2.2.8) Nummer der CPU, auf der der Prozess zuletzt lief. (40) rt_priority %u (seit Linux 2.5.19) Prioritat fur das Echtzeit-Scheduling, eine Zahl im Bereich von 1 bis 99 fur Prozesse, deren Scheduling einer Echtzeit-Strategie folgt oder 0 fur andere Prozesse (siehe sched_setscheduler(2)). (41) policy %u (seit Linux 2.5.19) Scheduling-Regeln (siehe sched_setscheduler(2)). Dekodieren Sie sie mit den SCHED_*-Konstanten in linux/sched.h. Das Format dieses Feldes war %lu vor Linux 2.6.22. (42) delayacct_blkio_ticks %llu (seit Linux 2.6.18) Kumulierte Block-E/A-Verzogerungen, gemessen in Uhren-Ticks (Hundertstelsekunden). (43) guest_time %lu (seit Linux 2.6.24) Gastzeit des Prozesses (aufgewendete Zeit fur den Betrieb einer virtuellen CPU fur ein Gast-Betriebssystem), gemessen in Uhren-Ticks (dividieren Sie durch sysconf(_SC_CLK_TCK)). (44) cguest_time %ld (seit Linux 2.6.24) Gastzeit der Kindprozesse des Prozesses, gemessen in Uhren-Ticks (dividieren Sie durch sysconf(_SC_CLK_TCK)). (45) start_data %lu (seit Linux 3.3) [PT] Adresse, oberhalb derer die initialisierten und nicht-initialisierten Programmdaten (BSS) abgelegt werden. (46) end_data %lu (seit Linux 3.3) [PT] Adresse, unterhalb derer die initialisierten und nicht-initialisierten Programmdaten (BSS) abgelegt werden. (47) start_brk %lu (seit Linux 3.3) [PT] Adresse, oberhalb derer der Heap von Programmen mit brk(2) ausgedehnt werden kann. (48) arg_start %lu (seit Linux 3.5) [PT] Adresse, oberhalb derer die Befehlszeilenargumente (argv) abgelegt werden. (49) arg_end %lu (seit Linux 3.5) [PT] Adresse, unterhalb derer die Befehlszeilenargumente (argv) abgelegt werden. (50) env_start %lu (seit Linux 3.5) [PT] Adresse, oberhalb derer die Programmumgebung abgelegt wird. (51) env_end %lu (seit Linux 3.5) [PT] Adresse, unterhalb derer die Programmumgebung abgelegt wird. (52) exit_code %d (seit Linux 3.5) [PT] Der Exit-Status des Threads in dem durch waitpid(2) berichteten Format. SIEHE AUCH proc(5), proc_pid_status(5) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer , Dr. Tobias Quathamer , Chris Leick , Erik Pfannenstein und Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.9.1 2. Mai 2024 proc_pid_stat(5)