Provided by: manpages-es_4.15.0-9_all bug

NOMBRE

       acct - Archivo para la contabilidad de procesos

SINOPSIS

       #include <sys/acct.h>

DESCRIPCIÓN

       Si  el  núcleo  fue  compilado  con  la  opción CONFIG_BSD_PROCESS_ACCT activada, se podrá
       iniciar la contabilidad de procesos mediante la llamada acct(2). Por ejemplo:

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

       Cuando la contabilidad está activada, el núcleo anota un registro en el archivo  cada  vez
       que  un  proceso  termina.  Dicho  registro  contiene  información acerca del proceso y su
       estructura se define en <sys/acct.h> del siguiente modo:

           #define ACCT_COMM 16

           typedef u_int16_t comp_t;

           struct acct {
               char ac_flag;           /* Opciones de la contabilidad */
               u_int16_t ac_uid;       /* ID del usuario*/
               u_int16_t ac_gid;       /* ID del grupo*/
               u_int16_t ac_tty;       /* Terminal que lo gestiona */
               u_int32_t ac_btime;     /* Hora de creación del proces
                                          (segundos desde el inicio) */
               comp_t    ac_utime;     /* Tiempo de CPU usado por el usuario*/
               comp_t    ac_stime;     /* Tiempo de CPU usado por el sistema */
               comp_t    ac_etime;     /* Tiempo transcurrido */
               comp_t    ac_mem;       /* Media del uso de memoria (kB) */
               comp_t    ac_io;        /* Caracteres transferidos (no usado) */
               comp_t    ac_rw;        /* Bloques leidos o escritos (no usado) */
               comp_t    ac_minflt;    /* Errores leves de paginación */
               comp_t    ac_majflt;    /* Errores graves de paginación */
               comp_t    ac_swaps;     /* Cantidad de intercambios (no usado) */
               u_int32_t ac_exitcode;  /* Estado de finalización del proceso
                                          (consulte wait(2)) */
               char      ac_comm[ACCT_COMM+1];
                                       /* Nombre de la orden (nombre de la última
                                          orden ejecutada; con salida cero) */
               char      ac_pad[X];    /* bytes de relleno */
           };

           enum {          /* Esto puede definirse en el campo ac_flag */
               AFORK = 0x01,           /* Se ejecutó fork pero no exec */
               ASU   = 0x02,           /* Empleó privilegios de administrador */
               ACORE = 0x08,           /* Volcadod e pila */
               AXSIG = 0x10            /* Terminado por una señal */
           };

       El tipo de datos comp_t es un valor de punto flotante que consta de un exponente de base 8
       de  3  bits  y  una mantisa de 13 bits. Un valor, c, de este tipo se puede convertir en un
       entero (grande) del siguiente modo:

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

       Los campo ac_utime, ac_stime y ac_etime miden el tiempo en "tics de reloj" dividiendo  ese
       valor entre sysconf(_SC_CLK_TCK) para convertirlo en segundos.

   Formato de archivo para la versión 3
       A  partir  de  la  versión  2.6.8  del núcleo es posible crear una versión alternativa del
       archivo   de   contabilidad   si   el   núcleo   ha   sido   compilado   con   la   opción
       CONFIG_BSD_PROCESS_ACCT_V3  activada.  En  este  caso, el registro contiene algunos campos
       adicionales y el tamaño de los campos c_uid and ac_gid se incrementa de 16 a 32  bits  (en
       línea con el incremento del tamaño de los UID y GIDs desde la versión 2.4. Estos registros
       se definen del siguiente modo:

           struct acct_v3 {
               char      ac_flag;      /* Flags */
               char      ac_version;   /* Always set to ACCT_VERSION (3) */
               u_int16_t ac_tty;       /* Controlling terminal */
               u_int32_t ac_exitcode;  /* Process termination status */
               u_int32_t ac_uid;       /* Real user ID */
               u_int32_t ac_gid;       /* Real group ID */
               u_int32_t ac_pid;       /* Process ID */
               u_int32_t ac_ppid;      /* Parent process ID */
               u_int32_t ac_btime;     /* Process creation time */
               float     ac_etime;     /* Elapsed time */
               comp_t    ac_utime;     /* User CPU time */
               comp_t    ac_stime;     /* System time */
               comp_t    ac_mem;       /* Average memory usage (kB) */
               comp_t    ac_io;        /* Characters transferred (unused) */
               comp_t    ac_rw;        /* Blocks read or written
                                          (unused) */
               comp_t    ac_minflt;    /* Minor page faults */
               comp_t    ac_majflt;    /* Major page faults */
               comp_t    ac_swaps;     /* Number of swaps (unused) */
               char      ac_comm[ACCT_COMM]; /* Command name */
           };

VERSIONES

       La estructura de acct_v3 está definida desde la versión 2.6 de glibc.

CONFORME A

       La contabilidad de procesos se originó en BSD. Aunque está presente en muchos sistemas, su
       funcionamiento no está estandarizado y puede variar entre unos y otros.

NOTAS

       Los registros se ordenan según la hora de finalización.

       A  partir  de  la  versión 2.6.9 del núcleo, se guarda un registro distinto para cada hilo
       creado con la biblioteca NPTL. A partir de la versión  2.6.10  sólo  se  guarda  un  único
       registro para todo el proceso una vez que termine el último hilo del mismo.

       El   archivo   /proc/sys/kernel/acct,  descrito  en  proc(5),  define  como  funciona   la
       contabilidad de procesos cuando existe poco espacio en el disco.

VÉASE TAMBIÉN

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

COLOFÓN

       Esta página es parte de la versión 5.13 del proyecto Linux man-pages. Puede encontrar  una
       descripción  del  proyecto, información sobre cómo informar errores y la última versión de
       esta página en https://www.kernel.org/doc/man-pages/.

TRADUCCIÓN

       La traducción al español de esta página del manual  fue  creada  por  Miguel  Pérez  Ibars
       <mpi79470@alu.um.es> y Marcos Fouces <marcos@debian.org>

       Esta  traducción  es  documentación  libre;  lea  la  GNU General Public License Version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ o posterior con respecto a las condiciones  de
       copyright.  No existe NINGUNA RESPONSABILIDAD.

       Si  encuentra  algún  error  en  la  traducción de esta página del manual, envíe un correo
       electrónico a ⟨debian-l10n-spanish@lists.debian.org⟩.