ACCT(2) Manuel du programmeur Linux ACCT(2)
NOM
acct - Activer/désactiver la comptabilité des processus
(account).
SYNOPSIS
#include <unistd.h>
int acct(const char *filename);
DESCRIPTION
Quand la fonction est appelée avec un nom de fichier exis
tant comme argument, la comptabilité est mise en marche,
un enregistrement étant ajouté à filename à la fin de
chaque processus. Un argument NULL arrête la compt
abilité.
L'appelant doit être Super-User.
[NDT] Comment relire les informations de comptabilisation
enregistrées ?
VALEUR RENVOYÉE
acct renvoie 0 quand elle réussit, ou -1 quand elle
échoue, auquel cas errno contient le code d'erreur.
ERREURS
ENOSYS Le système de comptabilité BSD n'a pas été activé
lors de la compilation du noyau. Le paramètre de
configuration du noyau contrôlant cette option est
CONFIG_BSD_PROCESS_ACCT.
ENOMEM Pas assez de mémoire.
EPERM L'appelant n'a pas la permission d'activer la
comptabilité.
EACCESS L'argument filename n'est pas un fichier régulier.
EIO Impossible d'écrire dans le fichier filename.
EUSERS Il n'y a plus de structures de fichiers libres, ou
il n'y a plus assez de mémoire disponible.
EXEMPLE
#include <stdio.h>
#include <unistd.h>
int
main (int nb_args, char * args [])
{
if (nb_args != 2)
Linux 9 Avril 1999 1
ACCT(2) Manuel du programmeur Linux ACCT(2)
fprintf (stdout, "Retour %d\n", acct (NULL));
else
fprintf (stdout, "Retour %d\n", acct (args [1]));
return (0);
}
CONFORMITÉ
SVr4 (mais pas POSIX). SVr4 indique les conditions
d'erreurs EACCES, EBUSY, EFAULT, ELOOP, ENAMETOOLONG,
ENOTDIR, ENOENT, EPERM, et EROFS, mais pas ENOSYS.
NOTES
Aucune comptabilisation n'est effectuée pour les pro
grammes en cours d'exécution si un plantage système
survient. En particulier les processus qui ne se terminent
jamais ne sont pas comptabilisés.
TRADUCTION
Christophe Blaess, 1997.
Linux 9 Avril 1999 2