REMOVE(3)

NOMBRE
remove - 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).

VÉASE TAMBIÉN
unlink(2), rename(2), open(2), rmdir(2), mknod(2), mkfifo(3), link(2), rm(1), unlink(8)