UNLINK(2)

NOM
unlink - Detruire un nom et eventuellement le fichier associe.

SYNOPSIS
#include <unistd.h>

int unlink(const char *pathname);

DESCRIPTION
unlink detruit un nom dans le systeme de fichiers. Si ce nom etait le dernier lien sur un fichier, et si aucun processus n'a ouvert ce fichier, ce dernier est efface, et l'espace qu'il utilisait est rendu disponible. Si le nom etait le dernier lien sur un fichier, mais qu'un processus conserve encore le fichier ouvert, celui continue d'exister jusqu'a ce que le dernier descripteur le referencant soit ferme. Si le nom correspond a un lien symbolique, le lien est efface. Si le nom correspond a une socket, une Fifo, ou un peripherique, le nom est efface mais les processus qui ont ouvert l'objet peuvent continuer a l'utiliser.

VALEUR RENVOYEE
unlink renvoie 0 s'il reussit ou -1 s'il echoue, auquel cas errno contient le code d'erreur.

ERREURS

EFAULT
    pathname pointe en dehors de l'espace d'adressage accessible

EACCES
    L'acces en ecriture au repertoire contenant pathname n'est pas autorise pour l'UID effectif du processus, ou bien l'un des repertoires de pathname n'autorise pas le parcours.

EPERM
    Le repertoire contenant pathname a son Sticky-Bit a 1, et l'UID effectif du processus n'est ni celui du fichier ni celui du repertoire.

ENAMETOOLONG
    pathname est trop long.

ENOENT
    Un repertoire dans le chemin d'acces pathname n'existe pas ou est un lien symbolique pointant nulle part.

ENOTDIR
    Un element du chemin d'acces pathname n'est pas un repertoire.

EISDIR
    pathname est un repertoire

ENOMEM
    pas assez de memoire pour le noyau

EROFS
    pathname est place sur un systeme de fichiers en lecture seule.

CONFORMITE
SVr4, SVID, POSIX, X/OPEN, BSD 4.3. SVr4 mentionne les conditions d'erreur supplementaires EBUSY, EINTR, ELOOP, EMULTIHOP, ETXTBUSY, ENOLINK.

BUGS
Des problemes dans le protocole sous-jacent a NFS peuvent causer la disparition inattendu de fichiers encore en utilisation.

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