Provided by: manpages-de_4.21.0-2_all bug

BEZEICHNUNG

       acct - Datei zur Prozessabrechnung

ÜBERSICHT

       #include <sys/acct.h>

BESCHREIBUNG

       Wenn  der Kernel mit aktivierter Prozessabrechnungsoption (CONFIG_BSD_PROCESS_ACCT) gebaut
       wird, startet der Aufruf von acct(2) die Prozessabrechnung. Ein Beispiel:

           acct("/var/log/pacct");

       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 <sys/acct.h> wie folgt definiert:

           #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[X];/* 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 */
           };

       Der Datentyp comp_t ist ein  Fließkommawert,  der  aus  einer  13-Bit-Mantisse  und  einem
       3-Bit-Exponenten  zur  Basis  besteht. Ein Wert c dieses Datentyps kann wie folgt in einen
       (long) integer umgewandelt werden:

           v = (c & 0x1fff) << (((c >> 13) & 0x7) * 3);

       Die Felder ac_utime, ac_stime und ac_etime messen die  Zeit  in  Takten  (»clock  ticks«);
       teilen Sie diese Werte durch sysconf(_SC_CLK_TCK), um die Zeit in Sekunden zu ermitteln.

   Version 3 des Abrechnungsdateiformats
       Seit  Linux  2.6.8  kann  optional  eine  alternative Version der Abrechnungsdatei erzeugt
       werden, wenn beim Bau des Kernels die Option  CONFIG_BSD_PROCESS_ACCT_V3  aktiv  war.  Ist
       diese  Option  gewählt,  enthalten  die  in  die Abrechnungsdatei geschriebenen Datensätze
       zusätzliche Felder; die Weite  der  Felder  c_uid  und  ac_gid  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:

           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 */
           };

VERSIONEN

       Die acct_v3-Struktur ist in Glibc seit Version 2.6 definiert.

STANDARDS

       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.

ANMERKUNGEN

       Die Datensätze in der Abrechnungsdatei sind nach der Endzeit der Prozesse geordnet.

       In  Linux  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.

       Die   Datei   /proc/sys/kernel/acct   definiert   Parameter,   die   das   Verhalten   der
       Prozessabrechnung steuern, wenn der verfügbare Plattenplatz knapp  wird.  Diese  Parameter
       werden in proc(5) beschrieben.

SIEHE AUCH

       lastcomm(1), acct(2), accton(8), sa(8)

ÜBERSETZUNG

       Die   deutsche   Übersetzung  dieser  Handbuchseite  wurde  von  Martin  Eberhard  Schauer
       <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> erstellt.

       Diese Übersetzung ist Freie Dokumentation;  lesen  Sie  die  GNU  General  Public  License
       Version  3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ oder neuer bezüglich der Copyright-
       Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an die Mailingliste der Übersetzer ⟨debian-l10n-german@lists.debian.org⟩.