REMOVE

Section: Manuel du programmeur Linux (3)
Updated: 5 Mai 1999
Index Retour au Menu Principal

 

NOM

remove - Détruire un nom et éventuellement le fichier correspondant.  

SYNOPSIS

#include <stdio.h>

int remove (const char *pathname);  

DESCRIPTION

remove supprime un nom du système de fichiers, en invoquant unlink pour les fichiers, et rmdir pour les répertoires.

Si ce nom était le dernier lien sur le fichier correspondant, et si aucun processus n'a ouvert le fichier, celui-ci est supprimé, et l'espace qu'il occupait est à nouveau disponible.

Si le nom était le dernier lien sur le fichier correspondant, mais si un processus avait ouvert ce fichier, celui-ci persistera jusqu'à ce que le dernier descripteur s'y rapportant soit fermé.

Si le nom correspond à un lien symbolique, le lien est supprimé.

Si le nom se rapporte à une socket, une Fifo, ou un périphérique, le nom est supprimé, mais un processus ayant ouvert l'objet peut continuer à l'utiliser.  

VALEUR RENVOYÉE

La fonction remove renvoie 0 si elle réussit, ou -1 si elle échoue, auquel cas errno contient le code d'erreur.  

ERREURS

EFAULT
pathname pointe en dehors de l'espace d'adressage accessible.
EACCES
L'écriture dans le répertoire contenant pathname n'est pas autorisée pour l'UID effectif du processus, ou l'un des répertoires de pathname ne permet pas la recherche (exécution).
EPERM
Le répertoire contenant pathname à son Sticky-Bit (S_ISVTX) positionné, et l'UID effectif du processus n'est ni l'UID du fichier, ni celui du répertoire le contenant.
ENAMETOOLONG
pathname est trop long.
ENOENT
Un répertoire contenu dans pathname n'existe pas, ou est un lien symbolique pointant nulle part.
ENOTDIR
Un composant de pathname n'est pas un répertoire.
ENOMEM
Pas assez de mémoire pour le noyau.
EROFS
pathname est situé sur un système de fichiers en lecture seule.
 

CONFORMITÉ

ANSI C, SVID, AT&T, POSIX, X/OPEN, BSD 4.3  

BOGUES

Des problèmes dans le protocole sous-jacent à NFS peuvent provoquer la disparition de fichiers encore en utilisation.  

NOTES

Avec libc4 et libc5, remove était simplement un alias de unlink, et ne supprimait donc pas les répertoires.  

VOIR AUSSI

unlink(2), rename(2), open(2), rmdir(2), mknod(2), mkfifo(3), link(2), rm(1), unlink(8).

 

TRADUCTION

Christophe Blaess, 1997.



 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
BOGUES
NOTES
VOIR AUSSI
TRADUCTION


Time: 22:30:05 GMT, December 19, 2004