Comparaison côte à côte de EEXIST et EISDIR — comprenez les différences, causes et solutions.
Une opération de création de fichier a échoué car un fichier portant le nom spécifié existe déjà.
Une opération exigeant l'inexistence d'un fichier a été tentée sur un fichier existant. Cela survient avec les drapeaux O_CREAT | O_EXCL dans open(), lors d'un appel à mkdir() sur un répertoire existant, ou lors de la création d'un lien symbolique là où un autre existe déjà.
Vérifiez l'existence du fichier avant de le créer. Utilisez O_CREAT sans O_EXCL si l'écrasement est acceptable. Supprimez d'abord le fichier existant si cela convient.
L'opération n'est pas autorisée sur un répertoire, mais le chemin cible en est un.
Une tentative d'effectuer une opération propre aux fichiers (comme une ouverture en écriture ou unlink) a été faite sur un répertoire.
Utilisez des opérations spécifiques aux répertoires telles que rmdir() ou opendir() au lieu des opérations sur fichiers. Pour supprimer un répertoire et son contenu, utilisez rm -r.