remove(3) borra un nombre y posiblemente el fichero a que se refiere

SINOPSIS

#include <stdio.h>

int remove(const char *pathname);

DESCRIPCIÓN

remove borra un nombre del sistema de ficheros. La función llama a unlink para ficheros y a rmdir para directorios.

Si el nombre borrado es el último enlace a un fichero y este no está abierto por ningún proceso, el fichero es borrado y el espacio que utilizaba queda disponible para ser reutilizado.

Si el nombre es el último enlace a un fichero, pero algún proceso aún lo tiene abierto, el fichero sigue existiendo hasta que sea cerrado el último descriptor de fichero referente a él.

Si el nombre se refiere a un enlace simbólico, se borra el enlace.

Si el nombre se refiere a un enchufe (socket), fifo, o dispositivo, se borra el nombre, pero los procesos que tienen este objeto abierto pueden continuar usándolo.

VALOR DEVUELTO

Si hay éxito, se devuelve cero. Si ocurre un error, se devuelve -1, y errno se actualiza apropiadamente.

ERRORES

Los errores que pueden ocurrir son aquellos para las llamadas unlink(2) y rmdir(2).

CONFORME A

ANSI C, SVID, AT&T, POSIX, X/OPEN, BSD 4.3

FALLOS

Algunos fallos desafortunados en el protocolo subyacente a NFS pueden causar la desaparición inesperada de ficheros que aún estaban siendo usados.

NOTA

Bajo libc4 y libc5, remove era un alias de unlink (y, por lo tanto, no eliminaba directorios).