.\" -*- coding: UTF-8 -*- '\" t .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH getrusage 2 "17 maja 2025 r." "Linux man\-pages 6.15" .SH NAZWA getrusage \- pobiera użycie zasobów .SH BIBLIOTEKA Standardowa biblioteka C (\fIlibc\fP,\ \fI\-lc\fP) .SH SKŁADNIA .nf \fB#include \fP .P \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\fP konieczne jest zdefiniowanie makra sprawdzania cech \fB_GNU_SOURCE\fP (przed dołączeniem \fIjakichkolwiek\fP plików nagłówkowych). .P Użycie zasobów jest zwracane w strukturze, na którą wskazuje \fIusage\fP, w postaci: .P .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 .P 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). .TS allbox; lbx lb lb l l l. Interfejs Atrybut Wartość T{ .na .nh \fBgetrusage\fP() T} Bezpieczeństwo wątkowe MT\-bezpieczne .TE .SH STANDARDY POSIX.1\-2008. .P POSIX.1 określa \fBgetrusage\fP(), lecz opisuje jedynie pola \fIru_utime\fP i \fIru_stime\fP. .P \fBRUSAGE_THREAD\fP jest typowo linuksowe. .SH HISTORIA POSIX.1\-2001, SVr4, 4.3BSD. .P .\" 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. .P Definicję struktury pokazaną na początku niniejszego podręcznika zaczerpnięto z 4.3BSD Reno. .P 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()). .SH UWAGI Wskaźniki użycia zasobów są zachowywane przy \fBexecve\fP(2). .SH "ZOBACZ TAKŻE" \fBclock_gettime\fP(2), \fBgetrlimit\fP(2), \fBtimes\fP(2), \fBwait\fP(2), \fBwait4\fP(2), \fBclock\fP(3), \fBproc_pid_stat\fP(5), \fBproc_pid_io\fP(5) .PP .SH TŁUMACZENIE Tłumaczenie niniejszej strony podręcznika: Michał Kułach . .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 .