Provided by: manpages-ru_0.98-4_all bug

ИМЯ

       close - закрыть файловый дескриптор

ОБЗОР

       #include <unistd.h>

       int close(int fd);

ОПИСАНИЕ

       close  закрывает  файловый дескриптор, который после этого не ссылается
       ни на один и файл и может быть использован повторно.   Все  блокировки,
       находящиеся  на  соответствующем  файле, снимаются (независимо от того,
       был ли  использован  для  установки  блокировки  именно  этот  файловый
       дескриптор).

       Если fd является последней копией какого-либо файлового дескриптора, то
       ресурсы, связанные с ним, освобождаются;  если дескриптор был последней
       ссылкой  на  файл,  удаленный с помощью unlink(2), то файл окончательно
       удаляется.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       close возвращает ноль при успешном завершении или  -1,  если  произошла
       ошибка.

ОШИБКИ

       EBADF  fd является неверным файловым дескриптором.

       EINTR  Системный вызов close() был прерван сигналом.

       EIO    Произошла ошибка ввода/вывода.

СООТВЕТСТВИЕ СТАНДАРТАМ

       SVr4,  SVID, POSIX, X/OPEN, BSD 4.3.  SVr4 документирует дополнительный
       код ошибки ENOLINK.

ЗАМЕЧАНИЯ

       Не проверять значение, возвращаемое функцией close  -  обычная,  но  от
       этого не менее серьезная ошибка программирования.  Вполне возможно, что
       ошибка в предыдущей операции write(2) впервые даст  о  себе  знать  при
       выполнении  close.   Отсутствие  проверки  возвращаемого  значение  при
       закрытии файла, может привести к потере данных. Особенно  это  касается
       таких аспектов как NFS и дисковые квоты.

       Успешное выполнение close() не гарантирует, что данные успешно записаны
       на диск, потому что ядро откладывает запись.  Обычно  файловые  системы
       не  сбрасывают  буфера  на  диск  при  закрытии потока.  Если вам нужно
       удостовериться, что данные физически сохранены  на  диске,  используйте
       fsync(2).  (В этом случае всё будет зависить от железа и самого диска.)

СМОТРИ ТАКЖЕ

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

ПЕРЕВОД

       Copyright (C) Alexey  Mahotkin  <alexm@hsys.msk.ru>  1999-2000,  Виктор
       Вислобоков <corochoone@perm.ru> 2003