Linux

CentOS 5.3

remove(3)


REMOVE

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

Les erreurs qui peuvent se produire pour unlink(2) et rmdir(2).

CONFORMITÃ

C89, BSD 4.3, POSIX.1-2001.

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

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

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 6 novembre 1996 et révisée le 14 août 2006.

L’équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 remove ». N’hésitez pas à signaler à l’auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.


remove(3)