ОПИСАНИЕ
Системный вызов unlink удаляет элемент каталога, заданный маршрутным именем, на которое указывает аргумент
path.
Системный вызов unlink завершается неудачей и элемент
каталога не удаляется, если выполнено хотя бы одно из
следующих условий:
[ENOTDIR]
Компонент маршрута не является каталогом.
[ENOENT]
Заданный файл не существует.
[EACCES]
Нет права на поиск для компонента маршрута.
[EACCES]
Удаление элемента требует записи в каталог,
права на запись в который нет.
[EPERM]
Заданный файл является каталогом, а действующий идентификатор пользователя не есть
идентификатор суперпользователя.
[EBUSY]
Элемент каталога, который должен быть удален, является точкой подключения для смонтированной файловой системы.
[ETXTBSY]
Удаляемый элемент каталога является последней ссылкой на программный файл, который
выполняется.
[EROFS]
Удаляемый элемент каталога принадлежит файловой системе, доступной только на чтение.
[EFAULT]
Аргумент path указывают за пределы отведенного процессу адресного пространства.
[EINTR]
Во время выполнения системного вызова перехвачен сигнал.
[ENOLINK]
Маршрутное имя path указывает на удаленный
компьютер, связи с которым в данный момент
нет.
[EMULTIHOP] Компоненты path требуют многократного обращения к удаленным компьютерам.
Когда все ссылки на файл удалены и нет процесса, для
которого этот файл является открытым, занимаемое файлом
пространство освобождается и файл перестает существовать. Если один или более процессов имеют файл открытым, когда удаляется последняя ссылка на него, то фактически уничтожение файла откладывается до момента закрытия его всеми процессами.