NOMBRE¶
acct - activa/desactiva la contabilidad de procesos
SINOPSIS¶
#include <unistd.h>
int acct(const char *filename);
DESCRIPCIÓN¶
Cuando se usa con el nombre de un fichero existente como argumento, se activa la
contabilidad y se añade a
filename un registro de información
para cada proceso finalizado. Usando
NULL como argumento desactiva la
contabilidad.
VALOR DEVUELTO¶
En caso de éxito el valor devuelto es cero. Si hay algún error, el
resultado es -1 y a
errno se le asigna un valor apropiado.
ERRORES¶
- EACCES
- Permiso de escritura denegado sobre el fichero
especificado.
- EACCESS
- El argumento filename no es un fichero regular.
- EFAULT
- filename apunta fuera del espacio de direcciones
accesible.
- EIO
- Error al escribir en el fichero filename.
- EISDIR
- filename es un directorio.
- ELOOP
- Demasiados enlaces simbólicos encontrados al resolver
filename.
- ENAMETOOLONG
- filename es demasiado largo.
- ENOENT
- El nombre de fichero especificado no existe.
- ENOMEM
- No hay memoria suficiente.
- ENOSYS
- No se activó la contabilidad BSD de procesos cuando se
compiló el núcleo. EL parámetro de configuración del
núcleo que controla esta característica es
CONFIG_BSD_PROCESS_ACCT.
- ENOTDIR
- Un componente usado como directorio en filename no
es un directorio.
- EPERM
- El proceso invocador no tiene permiso para activar la
contabilidad de procesos.
- EROFS
- filename hace referencia a un fichero en un sistema
de ficheros de solo-lectura.
- EUSERS
- No hay más estructuras de fichero disponibles o no hay
memoria suficiente.
SVr4 (pero no a POSIX). SVr4 documenta una condición de error EBUSY, pero
no EISDIR ni ENOSYS. También AIX y HPUX documentan EBUSY (intento de
activar la contabilidad cuando ya está activada), al igual que Solaris
(intento de activar la contabilidad usando el mismo fichero que ya está
siendo usado actualmente).
OBSERVACIONES¶
No se genera contabilidad alguna para aquellos programas que se estén
ejecutando cuado ocurre una caída del sistema. En particular, los
procesos que nunca finalizan no se tienen en cuenta en la contabilidad.