.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Modified by Michael Haardt (michael@moria.de) .\" Modified Sat Jul 24 14:29:17 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified 961203 and 001211 and 010326 by aeb@cwi.nl .\" Modified 001213 by Michael Haardt (michael@moria.de) .\" Modified 13 Jun 02, Michael Kerrisk .\" Added note on nonstandard behavior when SIGCHLD is ignored. .\" Modified 2004-11-16, mtk, Noted that the nonconformance when .\" SIGCHLD is being ignored is fixed in Linux 2.6.9; other minor changes .\" Modified 2004-12-08, mtk, in Linux 2.6 times() return value changed .\" 2005-04-13, mtk .\" Added notes on nonstandard behavior: Linux allows 'buf' to .\" be NULL, but POSIX.1 doesn't specify this and it's nonportable. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH times 2 "2 maja 2024 r." "Linux man\-pages 6.8" .SH NAZWA times \- pobiera czasy procesów .SH BIBLIOTEKA Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP) .SH SKŁADNIA .nf \fB#include \fP .P \fBclock_t times(struct tms *\fP\fIbuf\fP\fB);\fP .fi .SH OPIS \fBtimes\fP() przechowuje bieżące czasy wykonywania procesu w \fIstruct tms\fP, do której prowadzi \fIbuf\fP. \fIstruct tms\fP jest zdefiniowana w \fI\fP następująco: .P .in +4n .EX struct tms { clock_t tms_utime; /* czas w przestrzeni użytkownika */ clock_t tms_stime; /* czas systemowy */ clock_t tms_cutime; /* czas w przestrzeni użytkownika dla dzieci*/ clock_t tms_cstime; /* czas systemowy dzieci */ }; .EE .in .P Pole \fItms_utime\fP zawiera czas CPU spędzony na wykonywaniu instrukcji procesu wywołującego tę funkcję. Pole \fItms_stime\fP zawiera czas CPU spędzony w systemie podczas wykonywania zadań zleconych przez proces. .P Pole \fItms_cutime\fP zawiera sumę \fItms_utime\fP i \fItms_cutime\fP wartości dla wszystkich dzieci, na które proces czekał. Pole \fItms_cstime\fP zawiera sumę wartości \fItms_stime\fP i \fItms_cstime\fP dla wszystkich dzieci, na które proces czekał. .P Czas zakończonych procesów\-dzieci (i ich potomków) jest dodawany w momencie, gdy \fBwait\fP(2) lub \fBwaitpid\fP(2) zwrócą ich identyfikatory procesu. W szczególności nigdy nie zostaną policzone czasy wnuków, na które dzieci nie poczekały. .P Wszystkie raportowane czasy są wyrażone w tyknięciach zegara. .SH "WARTOŚĆ ZWRACANA" \fBtimes\fP() zwraca liczbę tyknięć zegara, które upłynęły od pewnego wybranego punktu przeszłości. Wartość zwracana może przekroczyć dopuszczalny zakres typu \fIclock_t\fP. W razie błędu zwracane jest \fI(clock_t)\ \-1\fP i odpowiednio ustawiane \fIerrno\fP, wskazując błąd. .SH BŁĘDY .TP \fBEFAULT\fP \fItms\fP wskazuje na pamięć poza przestrzenią adresową procesu. .SH WERSJE Pod Linuksem argument \fIbuf\fP może mieć wartość NULL, w czego wyniku \fBtimes\fP() tylko zwróci wynik funkcji. Jednakże POSIX nie określa takiego zachowania i większość innych implementacji uniksowych wymaga, aby parametr \fIbuf\fP nie był NULL\-em. .SH STANDARDY POSIX.1\-2008. .SH HISTORIA POSIX.1\-2001, SVr4, 4.3BSD. .P W standardzie POSIX\-1996 symbol \fBCLK_TCK\fP (zdefiniowany w \fI\fP) jest uznany za starzejący się. Obecnie jest przestarzały. .P .\" See the description of times() in XSH, which says: .\" The times of a terminated child process are included... when wait() .\" or waitpid() returns the process ID of this terminated child. Przed Linuksem 2.6.9, jeżeli obsługa sygnału \fBSIGCHLD\fP jest ustawiona na \fBSIG_IGN\fP, to czasy zakończonych dzieci są automatycznie zawarte w polach \fItms_cstime\fP i \fItms_cutime\fP, mimo że POSIX.1\-2001 określa, że tak się powinno się zdarzyć tylko wtedy, gdy proces czeka na swoje dzieci za pomocą wywołania systemowego \fBwait\fP(2). To niedostosowanie do standardu jest poprawione w Linuksie w wersji 2.6.9 i kolejnych. .P .\" .P .\" On older systems the number of clock ticks per second is given .\" by the variable HZ. Funkcja \fBtimes\fP() zwraca liczbę tyknięć zegara, które upłynęły od pewnego wybranego punktu przeszłości. Pod Linuksem ów \[Bq]pewien wybrany punkt w przyszłości\[rq] jest różny w różnych wersjach jądra systemu. W Linuksie 2.4 i wcześniejszych tym punktem jest moment uruchomienia systemu. Od wersji 2.6 Linuksa tym punktem jest \fI(2\[ha]32/HZ) \- 300\fP sekund przed momentem uruchomienia systemu. Ta wariantywność pomiędzy wersjami jądra (i pomiędzy różnymi implementacjami Uniksa) połączona z faktem, że wartość zwracana może przekroczyć dopuszczalny zakres typu \fIclock_t\fP, oznacza, że przenośne aplikacje powinny unikać używania tej wartości. Aby zmierzyć upływ czasu, lepiej używać \fBclock_gettime\fP(2). .P SVr1\-3 zwraca \fIlong\fP, a członkowie struktury są typu \fItime_t\fP, chociaż przechowują tyknięcia zegara, a nie sekundy od początku epoki. V7 używał typu \fIlong\fP dla członków struktury, ponieważ nie miał jeszcze wtedy typu \fItime_t\fP. .SH UWAGI Liczbę tyknięć zegara na sekundę można uzyskać, używając: .P .in +4n .EX sysconf(_SC_CLK_TCK); .EE .in .P Proszę zauważyć, że \fBclock\fP(3) także zwraca wartości typu \fIclock_t\fP, które są wyrażone w jednostkach \fBCLOCKS_PER_SEC\fP, a nie w tyknięciach zegara, używanych przez \fBtimes\fP(). .SH USTERKI .\" The problem is that a syscall return of -4095 to -1 .\" is interpreted by glibc as an error, and the wrapper converts .\" the return value to -1. .\" http://marc.info/?l=linux-kernel&m=119447727031225&w=2 .\" "compat_sys_times() bogus until jiffies >= 0" .\" November 2007 Ograniczenie w konwencjach tego wywołania systemowego na niektórych architekturach systemowych (zwłaszcza i386) oznacza, że w Linuksie 2.6 istnieje niewielkie okno czasowe (41 sekund) zaraz po uruchomieniu systemu, w którym \fBtimes\fP() może zwrócić \-1, niepoprawnie wskazując na wystąpienie błędu. Ten sam problem może wystąpić, kiedy wartość zwracana zostanie zawinięta, gdyż przekroczy maksymalną dopuszczalną wartość dla typu \fBclock_t\fP. .SH "ZOBACZ TAKŻE" \fBtime\fP(1), \fBgetrusage\fP(2), \fBwait\fP(2), \fBclock\fP(3), \fBsysconf\fP(3), \fBtime\fP(7) .PP .SH TŁUMACZENIE Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Robert Luberda i 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 .