REMOVE(3) | Руководство программиста Linux | REMOVE(3) |
remove - удаляет файл или каталог
#include <stdio.h>
int remove(const char *pathname);
Функция remove() удаляет имя из файловой системы. Она вызывает unlink(2) для файлов и rmdir(2) для каталогов.
Если удалённое имя было последней ссылкой на файл и больше нет процессов, которые держат этот файл открытым, то данный файл удаляется и место, которое он занимает, освобождается для дальнейшего использования.
Если имя было последней ссылкой на файл, но какие-либо процессы всё ещё держат этот файл открытым, файл будет существовать, пока последний файловый дескриптор, указывающий на него, не будет закрыт.
Если имя указывает на символьную ссылку, то будет удалена ссылка.
Если имя указывает на сокет, FIFO или устройство, то имя будет удалено, но процессы, которые открыли объект, могут продолжать его использовать.
При успешном выполнении возвращается 0. В случае ошибки возвращается -1, а errno устанавливается в соответствующее значение.
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение |
remove() | Безвредность в нитях | MT-Safe |
POSIX.1-2001, POSIX.1-2008, C89, C99, 4.3BSD.
Неточности в протоколе NFS могут приводить к неожиданному исчезновению файлов, которые всё ещё используются.
rm(1), unlink(1), link(2), mknod(2), open(2), rename(2), rmdir(2), unlink(2), mkfifo(3), symlink(7)
2017-09-15 | GNU |