REMOVE(3)

НАЗВАНИЕ
remove - удаляет имя файла или сам файл

СИНТАКСИС
#include <stdio.h>

int remove(const char *pathname);

ОПИСАНИЕ
remove удаляет имя из существующей файловой системы. Она вызывает unlink для файла и rmdir для каталога, на который указывает. Если удаленное имя является последней оставшейся ссылкой на файл и нет процессов, открывших его, то этот файл удаляется и освобожденное пространство становится доступным для использования. Если удаленное имя является последней оставшейся ссылкой на файл и есть хоть один процесс, открывший его, то этот файл будет существовать до тех пор, пока не освободится последний описатель, на него указывающий. Если имя указывает на символьную ссылку, она будет удалена. Если имя указывает на сокет, буфер fifo или файл устройства, то имя удаляется из системы, но процессы, открывшие этот описатель ранее, могут им пользоваться.

ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
В случае удачного завершения возвращается 0. В случае ошибки -1, а также errno устанавливается соответственно коду ошибки.

НАЙДЕННЫЕ ОШИБКИ
Возможные ошибки аналогичны ошибкам функций unlink(2) и rmdir(2).

СООТВЕТСТВИЕ СТАНДАРТАМ
ANSI C, SVID, AT&T, POSIX, X/OPEN, BSD 4.3

НАЙДЕННЫЕ ОШИБКИ
Недостатки протокола NFS могут привести к удалению файлов, в то время как их еще используют какие-либо процессы.

ЗАМЕЧАНИЯ
В libc4 и libc5 remove полностью аналогичен unlink (и не удаляет каталогов).

СМ. ТАКЖЕ
unlink(2), rename(2), open(2), rmdir(2), mknod(2), mkfifo(3), link(2), rm(1), unlink(8)