acct

ACCT(5)                    Manuel du programmeur Linux                   ACCT(5)



NOM
       acct - Fichier de comptabilité des processus

SYNOPSIS
       #include <sys/acct.h>

DESCRIPTION
       Si le noyau a été compilé avec l'option de comptabilité des processus
       activée (CONFIG_BSD_PROCESS_ACCT), l'appel système acct(2) démarre la
       comptabilité. Par exemple :

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

       Quand la comptabilité des processus est activée, le noyau écrit dans le
       fichier indiqué un enregistrement à chaque mort d'un processus. Cet
       enregistrement contient des informations concernant le processus terminé,
       décrites dans <sys/acct.h> ainsi :

           #define ACCT_COMM 16

           typedef u_int16_t comp_t;

           struct acct {
               char      ac_flag;      /* Attribut de comptabilité */
               u_int16_t ac_uid;       /* UID comptabilisé */
               u_int16_t ac_gid;       /* GID comptabilisé */
               u_int16_t ac_tty;       /* Terminal de contrôle */
               u_int32_t ac_btime;     /* Heure de création du processus */
                                          (secondes depuis 01/01/1970) */
               comp_t    ac_utime;     /* Temps CPU en mode utilisateur */
               comp_t    ac_stime;     /* Temps CPU en mode noyau */
               comp_t    ac_etime;     /* Temps écoulé */
               comp_t    ac_mem;       /* Moyenne utilisation de la mémoire (ko) */
               comp_t    ac_io;        /* Caractères transmis (inutilisé) */
               comp_t    ac_rw;        /* Blocs lus ou écrits (inutilisé) */
               comp_t    ac_minflt;    /* Nb fautes de pages mineures */
               comp_t    ac_majflt;    /* Nb fautes de pages majeures */
               comp_t    ac_swaps;     /* Nb de swaps (inutilisé) */
               u_int32_t ac_exitcode;  /* Code de retour - voir wait(2) */
               char      ac_comm[ACCT_COMM+1];
                                       /* Nom de la commande (nom de base
                                          de la dernière commande exécutée
                                          terminé par NULL) */
               char      ac_pad[X];    /* Remplissage */
           };

           enum {          /* Bits qui peuvent se trouver dans ac_flag */
               AFORK = 0x01,           /* A exécuté fork mais pas exec */
               ASU   = 0x02,           /* A utilisé les privilèges superutilisateur */
               ACORE = 0x08,           /* A créé un fichier core */
               AXSIG = 0x10            /* Tué par un signal */
           };

       Le type de donnée comp_t est un nombre en virgule flottante constitué
       d'un exposant en base 8 sur 3 bits et d'une mantisse sur 13 bits. Une
       valeur, c, de ce type peut être convertie en entier (long) ainsi :

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

       Les champs ac_utime, ac_stime et ac_etime mesurent les temps en « tops
       d'horloge ». Divisez ces valeurs par sysconf(_SC_CLK_TCK) pour obtenir
       des secondes.

   Format des fichiers de comptabilité version 3
       Depuis le noyau 2.6.8, une autre version du fichier peut être
       éventuellement produite si l'option CONFIG_BSD_PROCESS_ACCT_V3 est
       définie lors de la compilation du noyau. Lorsque cette option est active,
       les enregistrements écrits dans le fichier de comptabilité contiennent
       des champs supplémentaires et la longueur des champs c_uid et ac_gid est
       élargie de 16 à 32 bits (en accord avec l'élargissement des UID et GID
       dans les noyaux Linux 2.4 et ultérieurs). Les enregistrements sont
       définis ainsi :

           struct acct_v3 {
               char      ac_flag;      /* Attribut de comptabilité */
               char      ac_version;   /* Vaut toujours ACCT_VERSION (3) */
               u_int16_t ac_tty;       /* Terminal de contrôle */
               u_int32_t ac_exitcode;  /* Code de retour */
               u_int32_t ac_uid;       /* UID réel */
               u_int32_t ac_gid;       /* GID réel */
               u_int32_t ac_pid;       /* PID */
               u_int32_t ac_ppid;      /* PPID (PID du parent) */
               u_int32_t ac_btime;     /* Heure de création du processus */
                                          (secondes depuis 01/01/1970) */
               float     ac_etime;     /* Temps écoulé */
               comp_t    ac_utime;     /* Temps CPU en mode utilisateur */
               comp_t    ac_stime;     /* Temps CPU en mode noyau */
               comp_t    ac_mem;       /* Moyenne utilisation de la mémoire (ko) */
               comp_t    ac_io;        /* Caractères transmis (inutilisé) */
               comp_t    ac_rw;        /* Blocs lus ou écrits (inutilisé) */
               comp_t    ac_minflt;    /* Nb fautes de pages mineures */
               comp_t    ac_majflt;    /* Nb fautes de pages majeures */
               comp_t    ac_swaps;     /* Nb de swaps (inutilisé) */
               char      ac_comm[ACCT_COMM];
                                       /* Nom de la commande */
           };

VERSIONS
       La structure acct_v3 est définie dans la glibc depuis la version 2.6.

CONFORMITÉ
       La comptabilité des processus provient de BSD. Bien qu'elle soit
       implémentée sur la plupart des systèmes, elle n'est pas normalisée et
       varie parfois entre les systèmes.

NOTES
       Les enregistrements dans le fichier de comptabilité sont classés en
       fonction de l'heure de fin des processus.

       Dans les noyaux jusqu'au 2.6.9 (inclus), un enregistrement séparé était
       écrit pour chaque thread utilisant la bibliothèque NPTL. Depuis
       Linux 2.6.10, un enregistrement unique est écrit pour l'ensemble du
       processus à la fin de son dernier thread.

       Le fichier proc/sys/kernel/acct, décrit dans proc(5), définit les
       réglages qui configurent le comportement de la comptabilité des processus
       lorsque l'espace disque commence à manquer.

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

COLOPHON
       Cette page fait partie de la publication 5.11 du projet man-pages Linux.
       Une description du projet et des instructions pour signaler des anomalies
       et la dernière version de cette page, peuvent être trouvées à l'adresse
       https://www.kernel.org/doc/man-pages/.


TRADUCTION
       La traduction française de cette page de manuel a été créée par
       Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin
       <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>,
       François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe
       Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-
       luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas
       Huriaux <thomas.huriaux@gmail.com>, Nicolas François
       <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>,
       Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier
       <barbier@debian.org>, David Prévot <david@tilapin.org>, Cédric Boutillier
       <cedric.boutillier@gmail.com>, Frédéric Hantrais <fhantrais@gmail.com> et
       Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter à
       la GNU General Public License version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ concernant les conditions de
       copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel,
       veuillez envoyer un message à debian-l10n-french@lists.debian.org ⟨⟩.




Linux                             22 mars 2021                           ACCT(5)