Skip to content
Syscall BSD#10

svc · unix #10

unlink

Supprime une entrée de répertoire, libérant l'inode associé lorsque son compteur de liens atteint zéro.

Prototype

int unlink(user_addr_t path);

Retour: int

Arguments

NameTypeDirDescription
pathuser_addr_t-

Historique des versions

XNU tagmacOS#
xnu-1456.1.26macOS 10.6 Snow Leopard10
xnu-1486.2.1110
xnu-1504.15.310
xnu-1504.3.1210
xnu-1504.7.410
xnu-1504.9.1710
xnu-1504.9.2610
xnu-1504.9.3710

Notes

Si des processus ont encore le fichier ouvert, l'espace n'est récupéré qu'après la dernière fermeture. Sur macOS, unlink sur un fichier avec le drapeau schg ou uchg renvoie EPERM tant que le drapeau n'est pas effacé via chflags. SIP protège certains chemins même contre root.

Détection

ES émet ES_EVENT_TYPE_NOTIFY_UNLINK avec le parent et le vnode supprimé.

API associées

unlinkatrmdirrenameopenchflags