RMDIR(2)

NOM
rmdir - Supprimer un répertoire

SYNOPSIS
#include <unistd.h>

int rmdir(const char *pathname);

DESCRIPTION
rmdir() supprime un répertoire, lequel doit être vide.

VALEUR RENVOYÉE
Cet appel renvoie 0 s'il réussit, ou -1 s'il échoue, auquel cas errno contient le code d'erreur.

ERREURS

EACCES
    Les droits d'écriture dans le répertoire contenant pathname ne sont pas autorisés, ou bien un des répertoires de pathname ne permet pas le parcours. (Voir aussi path_resolution(7).)

EBUSY
    pathname est actuellement utilisé par le système ou un processus qui empêche sa suppression. Sous Linux, cela signifie que pathname est actuellement un point de montage ou bien que c'est le répertoire racine du processus appelant.

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

EINVAL
    pathname a . comme dernier composant.

ELOOP
    pathname contient une référence circulaire (à travers un lien symbolique).

ENAMETOOLONG
    pathname est trop long.

ENOENT
    Un répertoire contenu dans pathname n'existe pas, ou est un lien symbolique pointant nulle part.

ENOMEM
    Pas assez de mémoire pour le noyau.

ENOTDIR
    pathname, ou un élément du chemin d'accès pathname n'est pas un répertoire.

ENOTEMPTY
    pathname contient d'autres éléments que . et .. ; ou pathname a .. comme composant final. POSIX.1-2001 permet également EEXIST pour cette condition.

EPERM
    Le répertoire contenant pathname a son sticky bit positionné (S_ISVTX), et l'UID effectif du processus n'est pas le même que celui du répertoire à supprimer, ou celui du répertoire le contenant, et le processus n'est pas privilégié (sous Linux : n'a pas la capacité CAP_FOWNER).

EPERM
    Le système de fichiers contenant pathname ne permet pas la suppression de répertoires.

EROFS
    pathname correspond à un répertoire situé sur un système de fichiers en lecture seule.

CONFORMITÉ
SVr4, BSD 4.3, POSIX.1-2001.

BOGUES
Des problèmes dans le protocole sous-jacent des systèmes de fichiers NFS peuvent provoquer la disparition inattendue de répertoires encore utilisés.

VOIR AUSSI
rm(1), rmdir(1), chdir(2), chmod(2), mkdir(2), rename(2), unlink(2), unlinkat(2)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 13 octobre 1996 et révisée le 23 juin 2008.

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 2 rmdir ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.