Provided by: manpages-pt-dev_20040726-4_all bug

NOME

       close - fecha um descritor de arquivo

SINOPSE

       #include <unistd.h>

       int close(int fd);

DESCRIÇÃO

       close  fecha  um  descritor  de  arquivos.  Assim  que  ele não se refira a quaisquer arquivos poderá ser
       reusado. Qualquer bloqueio aplicado ao arquivo e de propriedade do processo é removido  (independente  do
       descritor de arquivo que foi usado para aplicar o bloqueio).

       Se  fd  é  a  última  cópia  de um descritor de arquivos em particular os recursos associados a ele serão
       liberados; se um descritor tem a última referência para um arquivo o qual foi removido usando e unlink(2)
       o arquivo é apaguado.

VALORES RETORNADOS

       close Em caso de sucesso, 0 é retornado, caso contrário -1 é retornado.

ERROS

       EBADF  fd não é um descritor de arquivo aberto válido.

DE ACORDO COM

       SVr4, SVID, POSIX, X/OPEN, BSD 4.3.  SVr4 documenta a condição de erro adicional ENOLINK.

NOTAS

       Não  checar  os  valores  retornados  do fechamento é comum, mas apesar disto, erro de programação grave.
       Implementações de sistemas de  arquivos  que  usam  técnicas  como   ''write-behind'',  para  aumentar  a
       performance, pode implicar no sucesso de write(2) , ainda que os dados não tenham sido gravados. O estado
       de erro pode ser relatado em uma  operação  de  escrita  posterior,  mas  é  garantido  ser  relatado  no
       fechamento  do  arquivo.  Não  checar  os  valores  retornados ao fechar o arquivo pode implicar na perda
       silenciosa de dados. Isto pode, especialmente, ser observado com NFS e cotas de disco.

       Um fechamento bem sucedido não garante que os dados tenham sido armazenados com sucesso no disco, já  que
       o  kernel  adia  escritas.  Isto  não é comum para um sistema de arquivos que esvazia os buffers quando o
       fluxo é fechado. Se você precisa estar certo que os dados foram fisicamente armazenados use  fsync(2)  ou
       sync(2).

VEJA TAMBÉM

       open(2), fcntl(2), shutdown(2), unlink(2), fclose(3)

TRADUZIDO POR LDP-BR em 21/08/2000.

       André  L.  Fassone  Canova <lonelywolf@blv.com.br> (tradução) Fábio Henrique F. Silva <fabiohfs@mail.com>
       (revisão)

                                                   14/04/1996                                           CLOSE(2)