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.