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 (и не удаляет каталогов).