NOME¶
unlink - apaga um nome e talvez o arquivo ao qual se refere
SINOPSE¶
#include <unistd.h>
int unlink(const char *pathname);
DESCRIÇÃO¶
unlink apaga um nome a partir do sistema de arquivos. Se aquele nome tem
a última ligação simbólica para uma arquivo e
não processa o arquivo aberto, o arquivo é deletado e o
espaço dele é feito disponível para ser reutilizado.
Se o nome tem uma última ligação para um arquivo mas
qualquer processo tem o arquivo aberto o arquivo ficará existente
até o último descritor de arquivo referenciado para ele ser
fechado.
Se o nome referenciado para uma ligação simbólica é
um ligação removida.
Se o nome referenciado para um socket, fifo ou dispositivo foi removido mas
processos que têm o objeto aberto podem continuar usá-lo.
VALORES RETORNADOS¶
Em caso de sucesso, zero é retornado. Caso contrário, -1 é
retornado, e
errno é selecionado adequadamente.
ERROS¶
- EACCES
- Acesso de escrita para o diretório contendo pathname
não é permitido para uid efetivas de processos, ou um dos
diretórios em pathname não tem permissão de
procura (execução).
- EPERM ou EACCES
- O diretório contendo pathname tem um bit contrário
selecionado (S_ISVTX) e a uid efetiva do processo é nenhuma
uid do arquivo para ser apagado não naquele diretório que o
contém.
- EPERM
- O arquivo pathname é um diretório.
- EFAULT
- pathname aponta para fora do espaço de endereços
acessível para você.
- ENAMETOOLONG
- pathname é muito longo.
- ENOENT
- Um diretório componente no pathname não existe ou
é uma ligação simbólica rompida.
- ENOTDIR
- Um componente usado com um diretório em pathname não
é, de fato, um diretório.
- EISDIR
- pathname refere-se a um diretório.
- ENOMEM
- Memória do kernel disponível é insuficiente.
- EROFS
- pathname refere-se para um arquivo em um sistema de arquivos
somente de leitura.
- ELOOP
- Muitas ligações simbólicas são encontradas na
tradução do pathname.
- EIO
- Um erro de E/S ocorreu.
DE ACORDO COM¶
SVr4, SVID, POSIX, X/OPEN, 4.3BSD. SVr4 documenta as condições de
erros adicionais EBUSY, EINTR, EMULTIHOP, ETXTBUSY, ENOLINK.
PROBLEMAS¶
Infelicidades no protocolo base do NFS pode causar o inesperado desaparecimento
de arquivos que ainda estão sendo usados.
VEJA TAMBÉM¶
link(2),
rename(2),
open(2),
rmdir(2),
mknod(2),
mkfifo(3),
remove(3),
rm(1)
TRADUZIDO POR LDP-BR em 21/08/2000¶
André L. Fassone Canova <lonelywolf@blv.com.br>
(tradução) xxxxxxxxxxxxxxxxxxxxxxxxx <xxx@xxxxxx.xxx.xx>
(revisão)