.\" -*- coding: UTF-8 -*-
'\" t
.\" Copyright (c) 1992 Drew Eckhardt, March 28, 1992
.\" and Copyright (c) 2002 Michael Kerrisk
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" 2004-11-16 -- mtk: the getrlimit.2 page, which formerly included
.\" coverage of getrusage(2), has been split, so that the latter is
.\" now covered in its own getrusage.2.  For older details of change
.\" history, etc., see getrlimit.2
.\"
.\" Modified 2004-11-16, mtk, Noted that the nonconformance
.\"	when SIGCHLD is being ignored is fixed in Linux 2.6.9.
.\" 2008-02-22, Sripathi Kodi <sripathik@in.ibm.com>: Document RUSAGE_THREAD
.\" 2008-05-25, mtk, clarify RUSAGE_CHILDREN + other clean-ups.
.\" 2010-05-24, Mark Hills <mark@pogo.org.uk>: Description of fields,
.\"     document ru_maxrss
.\" 2010-05-24, mtk, enhanced description of various fields
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH getrusage 2 "15 grudnia 2022 r." "Linux man\-pages 6.03" 
.SH NAZWA
getrusage \- pobiera użycie zasobów
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <sys/resource.h>\fP
.PP
\fBint getrusage(int \fP\fIwho\fP\fB, struct rusage *\fP\fIusage\fP\fB);\fP
.fi
.SH OPIS
\fBgetrusage\fP() zwraca użycie zasobów zmierzone dla \fIwho\fP, którym może być
jeden z:
.TP 
\fBRUSAGE_SELF\fP
Zwraca statystyki użycia zasobów procesu wywołującego, czyli sumę zasobów
użytych przez wszystkie wątki procesu.
.TP 
\fBRUSAGE_CHILDREN\fP
Zwraca statystyki użycia zasobów przez wszystkie dzieci procesu
wywołującego, które się zakończyły i na które się oczekuje. Statystyki te
obejmą zasoby użyte przez wnuki i kolejne pokolenia, jeśli wszystkie one
oczekują na swoich zakończonych potomków.
.TP 
\fBRUSAGE_THREAD\fP (od Linuksa 2.6.26)
Zwraca statystyki użycia zasobów przez wątek wywołujący. Aby uzyskać
definicję tej stałej z \fI<sys/resource.h>\fP konieczne jest
zdefiniowanie makra sprawdzania cech \fB_GNU_SOURCE\fP (przed dołączeniem
\fIjakichkolwiek\fP plików nagłówkowych).
.PP
Użycie zasobów jest zwracane w strukturze, na którą wskazuje \fIusage\fP, w
postaci:
.PP
.in +4n
.EX
struct rusage {
    struct timeval ru_utime; /* użyty czas procesora użytkownika */
    struct timeval ru_stime; /* użyty czas procesora systemu */
    long   ru_maxrss;        /* maksymalny rozmiar zestawu rezydentnego */
    long   ru_ixrss;         /* całkowity rozmiar pamięci dzielonej */
    long   ru_idrss;         /* całkowity rozmiar niedzielonych danych */
    long   ru_isrss;         /* całkowity rozmiar niedzielonego stosu */
    long   ru_minflt;        /* odzyskane strony (pomniejsze chybienia) */
    long   ru_majflt;        /* chybienia stron (główne chybienia) */
    long   ru_nswap;         /* wymienione strony */
    long   ru_inblock;       /* blokowe operacje wejścia */
    long   ru_oublock;       /* blokowe operacje wyjścia */
    long   ru_msgsnd;        /* wysłane komunikaty IPC */
    long   ru_msgrcv;        /* otrzymane komunikaty IPC */
    long   ru_nsignals;      /* otrzymane sygnały */
    long   ru_nvcsw;         /* dobrowolne przełączenia kontekstu */
    long   ru_nivcsw;        /* przymusowe przełączenia kontekstu */
};
.EE
.in
.PP
Nie wszystkie pola są ukończone; pola nieutrzymywane są ustawiane na zero
przez jądro (pola nieutrzymywane są zapewniane ze względu na kompatybilność
z innymi systemami i ponieważ w przyszłości mogą być obsługiwane w
Linuksie). Pola są interpretowane w następujący sposób:
.TP 
\fIru_utime\fP
Całkowity czas spędzony na wykonywaniu w trybie użytkownika, wyrażony jako
struktura \fItimeval\fP (sekundy i mikrosekundy).
.TP 
\fIru_stime\fP
Całkowity czas spędzony na wykonywaniu w trybie jądra, wyrażony jako
struktura \fItimeval\fP (sekundy i mikrosekundy).
.TP 
\fIru_maxrss\fP (od Linuksa 2.6.32)
Szczytowy osiągnięty rozmiar zestawu rezydentnego (\[Bq]resident set
size\[rq] — RSS; w kilobajtach). W przypadku \fBRUSAGE_CHILDREN\fP, dotyczy to
RSS największego potomka, a nie RSS całego drzewa procesów.
.TP 
\fIru_ixrss\fP (nieutrzymywane)
.\" On some systems,
.\" this is the integral of the text segment memory consumption,
.\" expressed in kilobyte-seconds.
W Linuksie, pole to jest aktualnie nieużywane.
.TP 
\fIru_idrss\fP (nieutrzymywane)
.\" On some systems, this is the integral of the data segment memory consumption,
.\" expressed in kilobyte-seconds.
W Linuksie, pole to jest aktualnie nieużywane.
.TP 
\fIru_isrss\fP (nieutrzymywane)
.\" On some systems, this is the integral of the stack memory consumption,
.\" expressed in kilobyte-seconds.
W Linuksie, pole to jest aktualnie nieużywane.
.TP 
\fIru_minflt\fP
Liczba chybień stron (page fault), obsłużonych bez aktywności
wejścia/wyjścia; aktywność ta jest unikana dzięki \[Bq]odzyskaniu\[rq] ramki
strony z listy stron oczekujących na realokację.
.TP 
\fIru_majflt\fP
Liczba obsłużonych chybień stron, które wymagały aktywności wejścia/wyjścia.
.TP 
\fIru_nswap\fP (nieutrzymywane)
.\" On some systems, this is the number of swaps out of physical memory.
W Linuksie, pole to jest aktualnie nieużywane.
.TP 
\fIru_inblock\fP (od Linuksa 2.6.22)
Liczba przypadków, w których system plików musiał obsłużyć wejście.
.TP 
\fIru_oublock\fP (od Linuksa 2.6.22)
Liczba przypadków, w których system plików musiał obsłużyć wyjście.
.TP 
\fIru_msgsnd\fP (nieutrzymywane)
.\" On FreeBSD 6.2, this appears to measure messages sent over sockets
.\" On some systems,
.\" this field records the number of messages sent over sockets.
W Linuksie, pole to jest aktualnie nieużywane.
.TP 
\fIru_msgrcv\fP (nieutrzymywane)
.\" On FreeBSD 6.2, this appears to measure messages received over sockets
.\" On some systems,
.\" this field records the number of messages received over sockets.
W Linuksie, pole to jest aktualnie nieużywane.
.TP 
\fIru_nsignals\fP (nieutrzymywane)
.\" On some systems, this field records the number of signals received.
W Linuksie, pole to jest aktualnie nieużywane.
.TP 
\fIru_nvcsw\fP (od Linuksa 2.6)
Liczba przypadków, w których wystąpiło przełączenie kontekstu, ze względu na
dobrowolne zwolnienie procesora przez proces, przed wykorzystaniem jego
jednostki czasu (zwykłe w celu oczekiwania na dostępność zasobu).
.TP 
\fIru_nivcsw\fP (od Linuksa 2.6)
Liczba przypadków, w których wystąpiło przełączenie kontekstu, ze względu na
pojawienie się działającego procesu o wyższym priorytecie lub ze względu na
przekroczenie swojej jednostki czasu przez bieżący proces.
.SH "WARTOŚĆ ZWRACANA"
Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest \-1 i
ustawiane \fIerrno\fP, wskazując błąd.
.SH BŁĘDY
.TP 
\fBEFAULT\fP
\fIusage\fP wskazuje poza dostępną przestrzeń adresową.
.TP 
\fBEINVAL\fP
\fIwho\fP jest nieprawidłowe.
.SH ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku
\fBattributes\fP(7).
.ad l
.nh
.TS
allbox;
lbx lb lb
l l l.
Interfejs	Atrybut	Wartość
T{
\fBgetrusage\fP()
T}	Bezpieczeństwo wątkowe	MT\-bezpieczne
.TE
.hy
.ad
.sp 1
.SH STANDARDY
POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD.  POSIX.1 określa \fBgetrusage\fP(),
lecz opisuje jedynie pola \fIru_utime\fP i \fIru_stime\fP.
.PP
\fBRUSAGE_THREAD\fP jest typowo linuksowe.
.SH UWAGI
Wskaźniki użycia zasobów są zachowywane przy \fBexecve\fP(2).
.PP
.\" See the description of getrusage() in XSH.
.\" A similar statement was also in SUSv2.
Przed Linuksem 2.6.9, jeśli dyspozycję \fBSIGCHLD\fP ustawiono na \fBSIG_IGN\fP,
to w wartości zwracanej przez \fBRUSAGE_CHILDREN\fP, automatycznie uwzględniane
jest użycie zasobu przez procesy potomne, mimo że POSIX.1\-2001 wyraźnie tego
zabrania. Tę niezgodność ze standardem usunięto w Linuksie 2.6.9 i nowszych.
.PP
Definicję struktury pokazaną na początku niniejszego podręcznika
zaczerpnięto z 4.3BSD Reno.
.PP
Bardzo stare systemy udostępniały funkcję \fBvtimes\fP() o podobnym
przeznaczeniu co \fBgetrusage\fP(). Ze względu na kompatybilność, glibc (do
Linuksa 2.32) również dostarczał \fBvtimes\fP(). Wszystkie nowe aplikacje
powinny być pisane z wykorzystaniem \fBgetrusage\fP() (od Linuksa 2.33, glibc
nie udostępnia już implementacji \fBvtimes\fP()).
.PP
Zob. też opis \fI/proc/\fPpid\fI/stat\fP w podręczniku \fBproc\fP(5).
.SH "ZOBACZ TAKŻE"
\fBclock_gettime\fP(2), \fBgetrlimit\fP(2), \fBtimes\fP(2), \fBwait\fP(2), \fBwait4\fP(2),
\fBclock\fP(3)
.PP
.SH TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika:
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
