Unix Man (Справочное руководство)


UNLINK(2)


UNLINK(2)

НАЗВАНИЕ


unlink - удаление элемента каталога

СИНТАКСИС

int unlink (path) char *path;

ОПИСАНИЕ


Системный вызов unlink удаляет элемент каталога, заданный маршрутным именем, на которое указывает аргумент path.

Системный вызов unlink завершается неудачей и элемент каталога не удаляется, если выполнено хотя бы одно из следующих условий:

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

Когда все ссылки на файл удалены и нет процесса, для которого этот файл является открытым, занимаемое файлом пространство освобождается и файл перестает существовать. Если один или более процессов имеют файл открытым, когда удаляется последняя ссылка на него, то фактически уничтожение файла откладывается до момента закрытия его всеми процессами.

СМ. ТАКЖЕ


, , .

в Справочнике пользователя.

ДИАГНОСТИКА


При успешном завершении результат равен 0; в случае ошибки возвращается -1, а переменной errno присваивается код ошибки.




Начало  Назад  Вперед



Книжный магазин