.\" -*- coding: UTF-8 -*- .\" Copyright (C) 2008, Michael Kerrisk .\" .\" %%%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 .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ACCT 5 "15. September 2017" Linux Linux\-Programmierhandbuch .SH BEZEICHNUNG acct \- Datei zur Prozessabrechnung .SH ÜBERSICHT \fB#include \fP .SH BESCHREIBUNG Wenn der Kernel mit aktivierter Prozessabrechnungsoption (\fBCONFIG_BSD_PROCESS_ACCT\fP) gebaut wird, startet der Aufruf von \fBacct\fP(2) die Prozessabrechnung. Ein Beispiel: .PP .in +4n acct("/var/log/pacct"); .in .PP Wenn die Prozessabrechnung aktiviert ist, schreibt der Kernel einen Datensatz in die Abrechnungsdatei, wenn ein Prozess im System endet. Dieser Datensatz enthält Informationen über den beendeten Prozess. Der Datensatz ist in \fI\fP wie folgt definiert: .PP .in +4n .EX #define ACCT_COMM 16 typedef u_int16_t comp_t; struct acct { char ac_flag; /* Schalter zur Steuerung der Abrechnung */ u_int16_t ac_uid; /* Benutzerkennung für Abrechnung */ u_int16_t ac_gid; /* Gruppenkennung für Abrechnung */ u_int16_t ac_tty; /* steuerndes Terminal */ u_int32_t ac_btime; /* Zeit der Erstellung des Prozesses (Sekunden seit dem 1.1.1970, 0:00 Uhr) */ comp_t ac_utime; /* CPU\-Zeit Benutzer */ comp_t ac_stime; /* CPU\-Zeit System */ comp_t ac_etime; /* verstrichene Zeit*/ comp_t ac_mem; /* durchschnittliche Speichernutzung (kB) */ comp_t ac_io; /* übertragene Zeichen (nicht verwendet) */ comp_t ac_rw; /* gelesene oder geschriebene Blöcke (nicht verwendet) */ comp_t ac_minflt; /* geringfügige Seitenausnahmebehandlung */ comp_t ac_majflt; /* wesentliche Seitenausnahmebehandlung */ comp_t ac_swaps; /* Anzahl der Seitenauslagerungen (nicht verwendet) */ u_int32_t ac_exitcode; /* Status bei Prozessende (siehe wait(2)) */ char ac_comm[ACCT_COMM+1]; /* Befehlsname (Name ohne Pfad des letzten ausgeführten Befehls; mit Nullbyte abgeschlossen) */ char ac_pad[\fIX\fP];/* Bytes zur Auffüllung */ }; enum { /* Bits, die im Feld ac_flag gesetzt werden können */ AFORK = 0x01, /* hat fork ausgeführt, aber nicht exec */ ASU = 0x02, /* hat Privilegien des Superusers genutzt */ ACORE = 0x08, /* hat Speicherauszug (core dump) erstellt */ AXSIG = 0x10 /* durch ein Signal abgebrochen */ }; .EE .in .PP Der Datentyp \fIcomp_t\fP ist ein Fließkommawert, der aus einer 13\-Bit\-Mantisse und einem 3\-Bit\-Exponenten zur Basis besteht. Ein Wert \fIc\fP dieses Datentyps kann wie folgt in einen (long) integer umgewandelt werden: .PP .nf v = (c & 0x1fff) << (((c >> 13) & 0x7) * 3); .fi .PP Die Felder \fIac_utime\fP, \fIac_stime\fP und \fIac_etime\fP messen die Zeit in Takten (»clock ticks«); teilen Sie diese Werte durch \fIsysconf(_SC_CLK_TCK)\fP, um die Zeit in Sekunden zu ermitteln. .SS "Version 3 des Abrechnungsdateiformats" Seit Kernel 2.6.8 kann optional eine alternative Version der Abrechnungsdatei erzeugt werden, wenn beim Bau des Kernels die Option \fBCONFIG_BSD_PROCESS_ACCT_V3\fP aktiv war. Ist diese Option gewählt, enthalten die in die Abrechnungsdatei geschriebenen Datensätze zusätzliche Felder; die Weite der Felder \fIc_uid\fP und \fIac_gid\fP steigt (entsprechend der Vergrößerung der UIDs und GIDs seit Linux 2.4) von 16 auf 32 Bit. Die Datensätze sind wie folgt definiert: .PP .in +4n .EX struct acct_v3 { char ac_flag; /* Schalter */ char ac_version; /* immer auf ACCT_VERSION (3) gesetzt u_int16_t ac_tty; /* steuerndes Terminal */ u_int32_t ac_exitcode; /* Status bei Prozessende */ u_int32_t ac_uid; /* Reale Benutzerkennung */ u_int32_t ac_gid; /* Reale Gruppenkennung */ u_int32_t ac_pid; /* Prozesskennung */ u_int32_t ac_ppid; /* Kennung des Elternprozesses */ u_int32_t ac_btime; /* Zeitpunkt der Prozesserzeugung */ float ac_etime; /* verstrichene Zeit*/ comp_t ac_utime; /* CPU\-Zeit Benutzer */ comp_t ac_stime; /* CPU\-Zeit System */ comp_t ac_mem; /* durchschnittliche Speichernutzung (kB) */ comp_t ac_io; /* übertragene Zeichen (nicht verwendet) */ comp_t ac_rw; /* gelesene oder geschriebene Blöcke (nicht verwendet) */ comp_t ac_minflt; /* geringfügige Seitenausnahmebehandlung */ comp_t ac_majflt; /* wesentliche Seitenausnahmebehandlung */ comp_t ac_swaps; /* Anzahl der Seitenauslagerungen (nicht verwendet) */ char ac_comm[ACCT_COMM];/* Befehlsname */ }; .EE .in .SH VERSIONEN Die \fIacct_v3\fP\-Struktur ist in Glibc seit Version 2.6 definiert. .SH "KONFORM ZU" Die Prozessabrechnung entstand auf BSD. Obwohl sie auf den meisten Systemen präsent ist, ist sie nicht standardisiert. Die Einzelheiten variieren etwas zwischen den den Systemen. .SH ANMERKUNGEN Die Datensätze in der Abrechnungsdatei sind nach der Endzeit der Prozesse geordnet. .PP In Kerneln bis einschließlich 2.6.9 wird für jeden mit der NTPL\-Threading\-Bibliothek erzeugten Thread ein eigener Datensatz geschrieben; seit Linux 2.6.10 wird für den gesamten Prozess ein einzelner Datensatz geschrieben, nachdem der letzte Prozess endete. .PP Die Datei \fI/proc/sys/kernel/acct\fP definiert Parameter, die das Verhalten der Prozessabrechnung steuern, wenn der verfügbare Plattenplatz knapp wird. Diese Parameter werden in \fBproc\fP(5) beschrieben. .SH "SIEHE AUCH" \fBlastcomm\fP(1), \fBacct\fP(2), \fBaccton\fP(8), \fBsa\fP(8) .SH KOLOPHON Diese Seite ist Teil der Veröffentlichung 5.10 des Projekts Linux\-\fIman\-pages\fP. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können, sowie die aktuelle Version dieser Seite finden sich unter \%https://www.kernel.org/doc/man\-pages/. .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer und Mario Blättermann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .