.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" 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 2.6.9; other minor changes .\" Modified 2004-12-08, mtk, in 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 "15 września 2017 r." Linux "Podręcznik programisty Linuksa" .SH NAZWA times \- pobiera czasy procesów .SH SKŁADNIA \fB#include \fP .PP \fBclock_t times(struct tms *\fP\fIbuf\fP\fB);\fP .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: .PP .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 .PP 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. .PP 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ł. .PP 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. .PP 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 jest ustawiana wartość zmiennej \fIerrno\fP. .SH BŁĘDY .TP \fBEFAULT\fP \fItms\fP wskazuje na pamięć poza przestrzenią adresową procesu. .SH "ZGODNE Z" POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD. .SH UWAGI Liczbę tyknięć zegara na sekundę można uzyskać, używając: .PP .in +4n .EX sysconf(_SC_CLK_TCK); .EE .in .PP W standardzie POSIX\-1996 symbol \fBCLK_TCK\fP (zdefiniowany w \fI\fP) jest uznany za starzejący się. Obecnie jest przestarzały. .PP .\" 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. W wersjach Linuksa przed 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. .PP 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. .PP 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(). .PP .\" .PP .\" 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 "pewien wybrany punkt w przyszłości" 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^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). .SS Historia 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 BŁĘDY .\" 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) .SH "O STRONIE" Angielska wersja tej strony pochodzi z wydania 5.04 projektu Linux \fIman\-pages\fP. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem \%https://www.kernel.org/doc/man\-pages/. .SH TŁUMACZENIE Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Robert Luberda i Michał Kułach . 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. Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres .MT manpages-pl-list@lists.sourceforge.net .ME .