*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> close (2)              



NAME    [Toc]    [Back]

       close - close a file descriptor

SYNOPSIS    [Toc]    [Back]

       #include <unistd.h>

       int close(int fd);

DESCRIPTION    [Toc]    [Back]

       close closes a file descriptor, so that it no longer refers to any file
       and may be reused. Any locks held on the file it was  associated  with,
       and  owned by the process, are removed (regardless of the file descriptor
 that was used to obtain the lock).

       If fd is the last copy of a particular file  descriptor	the  resources
       associated  with it are freed; if the descriptor was the last reference
       to a file which has been removed using unlink(2) the file is deleted.

RETURN VALUE    [Toc]    [Back]

       close returns zero on success, or -1 if an error occurred.

ERRORS    [Toc]    [Back]

       EBADF  fd isn't a valid open file descriptor.

       EINTR  The close() call was interrupted by a signal.

       EIO    An I/O error occurred.

CONFORMING TO    [Toc]    [Back]

       SVr4, SVID, POSIX, X/OPEN, BSD 4.3.  SVr4 documents an additional  ENOLINK
 error condition.

NOTES    [Toc]    [Back]

       Not  checking  the  return  value of close is a common but nevertheless
       serious programming error.  File system implementations which use techniques
 as ``write-behind'' to increase performance may lead to write(2)
       succeeding, although the data has not been written yet.	The error status
 may be reported at a later write operation, but it is guaranteed to
       be reported on closing the file.  Not checking the  return  value  when
       closing	the file may lead to silent loss of data.  This can especially
       be observed with NFS and disk quotas.

       A successful close does not guarantee that the data has	been  successfully
  saved to disk, as the kernel defers writes. It is not common for
       a filesystem to flush the buffers when the stream  is  closed.  If  you
       need  to  be  sure  that  the data is physically stored use fsync(2) or
       sync(2), they will get you closer to that goal (it will depend  on  the
       disk hardware at this point).

SEE ALSO    [Toc]    [Back]

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

				  1996-04-14			      CLOSE(2)
[ Back ]
 Similar pages
Name OS Title
close Tru64 Close the file associated with a file descriptor
cr_close HP-UX close a crash dump descriptor
mq_close HP-UX close a message queue descriptor
mq_close IRIX close a message queue descriptor
pxfisatty IRIX Determines if file descriptor corresponds to a valid file descriptor
AFclosefile IRIX close an audio file, update file header if file was opened for write access.
fdetach Tru64 Detach a STREAMS-based file descriptor from a file in the file system name space
fattach Tru64 Attach a STREAMS-based file descriptor to a file in the file system name space
VOP_OPENCLOSE FreeBSD open or close a file
VOP_CLOSE FreeBSD open or close a file
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service