/proc/pid/stat - informații despre stare
- /proc/pid/stat
- Informații privind starea procesului. Acestea sunt utilizate de
ps(1). Este definit în fișierul sursă al
nucleului fs/proc/array.c.
- Câmpurile, în ordine, cu specificatorii de format
scanf(3) corespunzători, sunt enumerate mai jos. Verificarea
modului de acces ptrace PTRACE_MODE_READ_FSCREDS |
PTRACE_MODE_NOAUDIT (a se vedea ptrace(2)) determină
dacă unele dintre aceste câmpuri afișează sau
nu informații valide. Dacă verificarea refuză
accesul, atunci valoarea câmpului este afișată ca 0.
Câmpurile afectate sunt indicate cu marcajul [PT].
- (1) pid %d
-
ID-ul procesului.
- (2) comm %s
- Numele de fișier al executabilului, în paranteze.
Șirurile mai lungi de TASK_COMM_LEN (16) caractere (inclusiv
octetul nul de încheiere) sunt trunchiate în mod
silențios. Acest lucru este vizibil indiferent dacă
executabilul a fost descărcat în spațiul de
interschimb (swap) sau nu.
- (3) state %c
- Unul dintre următoarele caractere, care indică starea
procesului:
- R
- În execuție
- S
- Adormirea într-o așteptare întreruptibilă
- D
- Așteptare în modul de repaus neîntreruptibil al
discului
- Z
- Zombi
- T
- Oprire (la un semnal) sau (înainte de Linux 2.6.33) urmărire
oprită
- t
- Oprirea urmăririi (începând cu Linux 2.6.33)
- W
- Paginare (numai înainte de Linux 2.6.0)
- X
- Mort (de la Linux 2.6.0 încoace)
- x
- Mort (numai de la Linux 2.6.33 la Linux 3.13)
- K
- Wakekill (numai pentru Linux 2.6.33 până la 3.13)
- W
- Waking (numai pentru Linux 2.6.33 până la 3.13)
- P
- Parked (numai pentru Linux 3.9 până la 3.13)
- I
- Idle (începând cu Linux 4.14)
- (4) ppid %d
- PID-ul părintelui acestui proces.
- (5) pgrp %d
- ID-ul grupului de procese al procesului.
- (6) session %d
- ID-ul de sesiune al procesului.
- (7) tty_nr %d
- Terminalul de control al procesului; (numărul dispozitivului minor
este conținut în combinația de biți 31-20
și 7-0; numărul dispozitivului major este conținut
în biții 15-8).
- (8) tpgid %d
- ID-ul grupului de procese din prim-plan al terminalului de control al
procesului.
- (9) fanioane %u
- Cuvântul conținut de fanioanele nucleului pentru procese.
Pentru semnificația biților, consultați
definițiile PF_* din fișierul sursă al nucleului
Linux include/linux/sched.h. Detaliile depind de versiunea
nucleului.
- Formatul pentru acest câmp era %lu înainte de Linux
2.6.
- (10) minflt %lu
- Numărul de erori minore pe care le-a făcut procesul
și care nu au necesitat încărcarea unei pagini de
memorie de pe disc.
- (11) cminflt %lu
- Numărul de defecte minore pe care le-au făcut copiii
așteptați ai procesului.
- (12) majflt %lu
- Numărul de erori majore ale procesului care au necesitat
încărcarea unei pagini de memorie de pe disc.
- (13) cmajflt %lu
- Numărul de greșeli majore pe care le-au făcut copiii
așteptați ai procesului.
- (14) utime %lu
- Cantitatea de timp în care acest proces a fost planificat în
modul utilizator, măsurată în ticuri de ceas
(împărțită la sysconf(_SC_CLK_TCK)).
Acest lucru include timpul de invitat, guest_time (timpul petrecut
rulând un CPU virtual, a se vedea mai jos), astfel
încât aplicațiile care nu sunt conștiente de
câmpul de timp de invitat să nu piardă acest timp din
calculele lor.
- (15) stime %lu
- Cantitatea de timp în care acest proces a fost planificat în
modul nucleu, măsurată în ticuri de ceas
(împărțită la
sysconf(_SC_CLK_TCK)).
- (16) cutime %ld
- Cantitatea de timp în care copiii așteptați ai
acestui proces au fost planificați în modul utilizator,
măsurată în ticuri de ceas
(împărțită la sysconf(_SC_CLK_TCK)); (a
se vedea și times(2)). Acest lucru include timpul de
invitat, cguest_time (timpul petrecut rulând un CPU virtual,
a se vedea mai jos).
- (17) cstime %ld
- Cantitatea de timp în care copiii așteptați ai
acestui proces au fost planificați în modul nucleu,
măsurată în ticuri de ceas
(împărțită la
sysconf(_SC_CLK_TCK)).
- (18) priority %ld
- (Explicație pentru Linux 2.6) Pentru procesele care rulează
o politică de planificare în timp real (policy de mai
jos; a se vedea sched_setscheduler(2)), aceasta este prioritatea de
planificare negată, minus unu; adică un număr cuprins
între -2 și -100, corespunzând
priorităților în timp real de la 1 la 99. Pentru
procesele care rulează în cadrul unei politici de
planificare fără timp real, aceasta este valoarea
„nice” brută (setpriority(2)) așa cum
este reprezentată în nucleu. Nucleul stochează
valorile „nice” ca numere în intervalul de la 0
(mare) la 39 (mic), corespunzător intervalului „nice”
vizibil pentru utilizator de la -20 la 19.
- Înainte de Linux 2.6, aceasta era o valoare scalată pe baza
ponderii acordate acestui proces de către planificator.
- (19) nice %ld
- Valoarea „nice” (a se vedea setpriority(2)), o
valoare în intervalul 19 (prioritate scăzută) - -20
(prioritate ridicată).
- (20) num_threads %ld
- Numărul de fire din acest proces ( începând cu Linux
2.6). Înainte de Linux 2.6, acest câmp a fost codat la 0 ca
un loc pentru un câmp eliminat anterior.
- (21) itrealvalue %ld
- Timpul în „jiffies” (clipite) înainte ca
următorul SIGALRM să fie trimis către proces
datorită unui temporizator de interval. Începând cu
Linux 2.6.17, acest câmp nu mai este menținut și este
codat dur ca 0.
- (22) starttime %llu
- Timpul la care a început procesul după pornirea sistemului.
Înainte de Linux 2.6, această valoare era exprimată
în „jiffies”. Începând cu Linux 2.6,
valoarea este exprimată în ticuri de ceas
(împărțite la sysconf(_SC_CLK_TCK)).
- Formatul pentru acest câmp era %lu înainte de Linux
2.6.
- (23) vsize %lu
- Dimensiunea memoriei virtuale în octeți.
- (24) rss %ld
- Dimensiunea setului rezident („Resident Set Size”: RSS):
numărul de pagini pe care procesul le are în memoria
reală. Acestea sunt doar paginile care contează pentru
spațiul de text, date sau stivă. Aceasta nu include paginile
care nu au fost încărcate la cerere sau care sunt stocate
în spațiul de interschimb (swap). Această valoare
este inexactă; a se vedea /proc/pid/statm mai
jos.
- (25) rsslim %lu
- Limita software curentă în octeți pe rss a
procesului; a se vedea descrierea lui RLIMIT_RSS în
getrlimit(2).
- (26) startcode %lu [PT]
- Adresa deasupra căreia poate rula textul programului.
- (27) endcode %lu [PT]
- Adresa sub care poate rula textul programului.
- (28) startstack %lu [PT]
- Adresa de început (adică de jos) a stivei.
- (29) kstkesp %lu [PT]
- Valoarea curentă a ESP (indicatorul de stivă), așa
cum se găsește în pagina de stivă a nucleului
pentru proces.
- (30) kstkeip %lu [PT]
- EIP-ul (indicatorul de instrucțiuni) curent.
- (31) signal %lu
- Harta de biți a semnalelor în așteptare,
afișată ca număr zecimal. Obsoletă, deoarece
nu furnizează informații privind semnalele în timp
real; utilizați în schimb
/proc/pid/status.
- (32) blocked %lu
- Harta de biți a semnalelor blocate, afișată ca
număr zecimal. Obsoletă, deoarece nu furnizează
informații privind semnalele în timp real; utilizați
în schimb /proc/pid/status.
- (33) sigignore %lu
- Harta de biți a semnalelor ignorate, afișată ca
număr zecimal. Obsoletă, deoarece nu furnizează
informații privind semnalele în timp real; utilizați
în schimb /proc/pid/status.
- (34) sigcatch %lu
- Harta de biți a semnalelor capturate, afișată ca un
număr zecimal. Obsoletă, deoarece nu furnizează
informații privind semnalele în timp real; utilizați
în schimb /proc/pid/status.
- (35) wchan %lu [PT]
- Acesta este „canalul” în care procesul
așteaptă. Este adresa unei locații din nucleu
în care procesul doarme. Numele simbolic corespunzător poate
fi găsit în /proc/pid/wchan.
- (36) nswap %lu
- Numărul de pagini transferate în spațiul de
interschimb (nu este întreținut).
- (37) cnswap %lu
- nswap cumulativ pentru procesele-copil (nu este
menținut).
- (38) exit_signal %d (începând cu
Linux 2.1.22)
- Semnal care trebuie trimis părinților atunci când
murim :).
- (39) processor %d (începând cu Linux
2.2.8)
- Numărul CPU-ului pe care s-a executat ultima dată.
- (40) rt_priority %u (începând cu
Linux 2.5.19)
- Prioritatea planificării în timp real, un număr
cuprins între 1 și 99 pentru procesele planificate în
conformitate cu o politică în timp real sau 0, pentru
procesele în afara timpului real (a se vedea
sched_setscheduler(2)).
- (41) policy %u (începând cu Linux
2.5.19)
- Politica de planificare (a se vedea sched_setscheduler(2)).
Decodare utilizând constantele SCHED_* din
linux/sched.h.
- Formatul pentru acest câmp era %lu înainte de Linux
2.6.22.
- (42) delayacct_blkio_ticks %llu
(începând cu Linux 2.6.18)
- Întârzieri de In/Ieș agregate blocului,
măsurate în ticuri de ceas (sutimi de secundă).
- (43) guest_time %lu (începând cu
Linux 2.6.24)
- Timpul procesului în calitate de invitat (timpul petrecut
executând un CPU virtual pentru un sistem de operare invitat),
măsurat în ticuri de ceas (împărțit la
sysconf(_SC_CLK_TCK)).
- (44) cguest_time %ld (începând cu
Linux 2.6.24)
- Timpul ca invitat al copiilor procesului, măsurat în ticuri
de ceas (împărțit la
sysconf(_SC_CLK_TCK)).
- (45) start_data %lu (începând cu
Linux 3.3) [PT]
- Adresa deasupra căreia sunt plasate datele inițializate
și neinițializate (BSS) ale programului.
- (46) end_data %lu (începând cu Linux
3.3) [PT]
- Adresa sub care sunt plasate datele inițializate și
neinițializate (BSS) ale programului.
- (47) start_brk %lu (începând cu Linux
3.3) [PT]
- Adresa peste care se poate extinde grămada „heap”
programului cu brk(2).
- (48) arg_start %lu (începând cu Linux
3.5) [PT]
- Adresa deasupra căreia sunt plasate argumentele din linia de
comandă a programului (argv).
- (49) arg_end %lu (începând cu Linux
3.5) [PT]
- Adresa sub care sunt plasate argumentele din linia de comandă a
programului (argv).
- (50) env_start %lu (începând cu Linux
3.5) [PT]
- Adresa deasupra căreia este plasat mediul programului.
- (51) env_end %lu (începând cu Linux
3.5) [PT]
- Adresa sub care este plasat mediul programului.
- (52) exit_code %d (începând cu Linux
3.5) [PT]
- Starea de ieșire a firului în forma raportată de
waitpid(2).
Traducerea în limba română a acestui manual a
fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită;
citiți
Licența
publică generală GNU Versiunea 3 sau o versiune
ulterioară cu privire la condiții privind drepturile de autor.
NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea
acestui manual, vă rugăm să trimiteți un e-mail
la
translation-team-ro@lists.sourceforge.net.