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.
CONFORME A
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.