remove(3) удаляет файл или каталог

ОБЗОР

#include <stdio.h>

int remove(const char *pathname);

ОПИСАНИЕ

Функция remove() удаляет имя из файловой системы. Она вызывает unlink(2) для файлов и rmdir(2) для каталогов.

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

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

Если имя указывает на символьную ссылку, то будет удалена ссылка.

Если имя указывает на сокет, FIFO или устройство, то имя будет удалено, но процессы, которые открыли объект, могут продолжать его использовать.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении возвращается 0. В случае ошибки возвращается -1, а errno устанавливается в соответствующее значение.

ОШИБКИ

Ошибки, которые возникают у unlink(2) и rmdir(2).

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).
ИнтерфейсАтрибутЗначение
remove() безвредность в нитяхбезвредно (MT-Safe)

СООТВЕТСТВИЕ СТАНДАРТАМ

POSIX.1-2001, POSIX.1-2008, C89, C99, 4.3BSD.

ДЕФЕКТЫ

Неточности в протоколе NFS могут приводить к неожиданному исчезновению файлов, которые всё ещё используются.