times(2) System Calls Manual times(2) NAVN times - indhent procestider BIBLIOTEK Standard C library (libc, -lc) SYNOPSIS #include clock_t times(struct tms *buf); BESKRIVELSE times() lagrer den nuvaerende procestid i struct tms som buf peger pa. struct tms er defineret i : struct tms { clock_t tms_utime; /* brugertid */ clock_t tms_stime; /* systemtid */ clock_t tms_cutime; /* brugertid for underprocesser */ clock_t tms_cstime; /* systemtid for underprocesser */ }; Feltet tms_utime indeholder cpu-tiden brugt pa at afvikle instruktioner for den kaldende proces. Feltet tms_stime indeholder cpu-tiden brugt pa afvikling i kernen under udforelse af opgaver pa vegne af den kaldende proces. Feltet tms_cutime indeholder summen af tms_utime- og tms_cutime-vaerdierne for alle ventet-pa afsluttede underprocesser. Feltet tms_cstime indeholder summen af tms_stime- og tms_cstime-vaerdierne for alle ventet-pa afsluttede underprocesser. Tider for afsluttede underprocesser (og deres efterkommere) tilfojes i det ojeblik at wait(2) eller waitpid(2) returnerer deres proces-id. Specielt ses tiderne for underunderprocesser som underprocesserne ikke ventede pa aldrig. Alle tider rapporteret er i klokkeslaet. RETURVAERDI times() returnerer antallet af klokkeslaet, der er foregaet siden et arbitraert punkt i fortiden. Returvaerdien kan lobe over det mulige typeinterval clock_t. Ved fejl returneres (clock_t) -1 og errno angives for at indikere fejlen. FEJL EFAULT tms peger uden for processens adresserum. VERSIONER Pa Linux kan argumentet buf angives som NULL, med det resultat at times() bare returnerer et funktionsresultat. POSIX angiver dog ikke denne opforsel og de fleste andre UNIX-implementeringer kraever en ikke-NULL-vaerdi for buf. STANDARDER POSIX.1-2024. HISTORIK POSIX.1-2001, SVr4, 4.3BSD. I POSIX.1-1996 er symbolet CLK_TCK (defineret i ) naevnt som foraeldet. Det er foraeldet nu. For Linux 2.6.9, hvis dispositionen af SIGCHLD er angivet til SIG_IGN, sa inkluderes tiderne for afsluttede underprocesser automatisk i felterne tms_cstime og tms_cutime, selvom POSIX.1-2001 siger, at dette kun bor ske hvis den kaldende proces (wait(2)) venter pa sin underproces. Denne manglende overholdelse af standarden er rettet i Linux 2.6.9 og senere. Pa Linux har "det arbitraere punkt i fortiden" hvorfra returvaerdien for times() males varireret pa tvaers af kerneversioner. Pa Linux 2.4 og tidligere er dette tidspunktet hvor systemet blev startet op. Siden Linux 2.6 er dette punkt (2^32/HZ) - 300 sekunder for systemets opstartstidspunkt. Denne variation pa tvaers af kerneversioner (og pa tvaers af UNIX-implementeringer), kombineret med det faktum at den returnerede vaerdi kan vaere storre end intervallet for clock_t, betyder at et flytbart program gor klogt i at undga denne vaerdi. For at male aendringer i forlobet tid bruges clock_gettime(2) i stedet for. SVr1-3 returnerer long og strukturmedlemmerne er af typen time_t selvom de lagrer klokkeslaet, ikke sekunder siden Epoch. V7 brugte long for strukturmedlemmerne, da det endnu ikke havde typen time_t. NOTER Antallet af klokkeslaet per sekund kan indhentes via: sysconf(_SC_CLK_TCK); Bemaerk at clock(3) ogsa returnerer en vaerdi af typen clock_t, men denne vaerdi males i enheder af CLOCKS_PER_SEC, ikke klokkeslaettene brugt af times(). FEJL En begraensning af Linux-systemkaldenes konventioner pa nogle arkitekturer (specielt i386) betyder at pa Linux 2.6 er der et lille tidsvindue (41 sekunder) lige efter opstart hvor times() kan returnere -1, og dermed forkert indkere at der opstod en fejl. Den samme fejl kan opsta, nar returvaerdien omslutter forbi den maksimalevaerdi, der kan lagres i clock_t. SE OGSA time(1), getrusage(2), wait(2), clock(3), sysconf(3), time(7) OVERSAETTELSE Oversaettere af denne manual til dansk Joe Hansen Denne oversaettelse er gratis dokumentation; laes GNU General Public License version 3 eller nyere for ophavsretbetingelser. Der er INGEN ANSVAR. Hvis du stoder pa fejl i oversaettelsen af denne vejledning, skal du sende en besked til . Linux man-pages 6.17 8. februar 2026 times(2)