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
| Name | Type | Dir | Description |
|---|---|---|---|
| path | user_addr_t | - |
Historique des versions
| XNU tag | macOS | # |
|---|---|---|
| xnu-1456.1.26 | macOS 10.6 Snow Leopard | 10 |
| xnu-1486.2.11 | — | 10 |
| xnu-1504.15.3 | — | 10 |
| xnu-1504.3.12 | — | 10 |
| xnu-1504.7.4 | — | 10 |
| xnu-1504.9.17 | — | 10 |
| xnu-1504.9.26 | — | 10 |
| xnu-1504.9.37 | — | 10 |
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