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 требуют многократного обра-
щения к удаленным компьютерам.
Когда все ссылки на файл удалены и нет процесса, для
которого этот файл является открытым, занимаемое файлом
пространство освобождается и файл перестает существо-
вать. Если один или более процессов имеют файл откры-
тым, когда удаляется последняя ссылка на него, то фак-
тически уничтожение файла откладывается до момента зак-
рытия его всеми процессами.
СМ. ТАКЖЕ
close(2), link(2), open(2).
rm(1) в Справочнике пользователя.
ДИАГНОСТИКА
При успешном завершении результат равен 0; в случае
ошибки возвращается -1, а переменной errno присваивает-
ся код ошибки.
|