plucky (5) acct.5.gz

Provided by: manpages-de_4.25.1-1_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

       Obwohl sie auf den meisten Systemen präsent ist, ist sie nicht standardisiert. Die Einzelheiten variieren
       etwas zwischen den den Systemen.

STANDARDS

       Keine.

GESCHICHTE

       Glibc 2.6.

       Die Prozessabrechnung entstand auf BSD.

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⟩.