ACCT

Section: Manuel du programmeur Linux (2)
Updated: 15 janvier 2002
Index Retour au Menu Principal

 

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 existant comme argument, la comptabilité est mise en marche, un enregistrement étant ajouté à filename à la fin de chaque processus. Un argument NULL arrête la comptabilité.

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

EACCESS
Interdiction d'écrire dans le fichier indiqué.
EACCESS
L'argument filename n'est pas un fichier régulier.
EFAULT
filename pointe en dehors de l'espace d'adressage autorisé.
EIO
Impossible d'écrire dans le fichier filename.
EISDIR
filename est un répertoire.
ELOOP
Références symboliques circulaires dans le chemin d'accès à filename.
ENAMETOOLONG
filename est trop long.
ENOENT
Le nom de fichier indiqué n'existe pas.
ENOMEM
Pas assez de mémoire.
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.
ENOTDIR
Un composant du chemin d'accès à filename n'est pas un répertoire.
EPERM
L'appelant n'a pas la permission d'activer la comptabilité.
EROFS
filename se trouve sur un système de fichiers en lecture seule.
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)
    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 une condition d'erreur EBUSY, mais ni EISDIR ni ENOSYS. De même AIX et HP-UX documentent EBUSY (essai d'activation alors que la comptabilité est déjà en fonctionnement), comme Solaris (essai d'activation de la comptabilité avec le même fichier que celui déjà en cours d'utilisation).  

NOTES

Aucune comptabilisation n'est effectuée pour les programmes 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.



 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
EXEMPLE
CONFORMITÉ
NOTES
TRADUCTION


Time: 21:37:36 GMT, December 19, 2004