Una llamada de cierre al sistema es una llamada al sistema utilizada por el núcleo para cerrar un descriptor de archivo . Para la mayoría de los sistemas de archivos , un programa finaliza el acceso a un archivo en un sistema de archivos mediante la llamada al sistema de cierre. Esto vacía los buffers de archivos, actualiza los metadatos de los archivos , que pueden incluir un indicador de fin de archivo en los datos; desasigna los recursos asociados con el archivo (incluido el descriptor de archivo ) y actualiza la tabla de archivos en uso de todo el sistema. Algunos lenguajes de programación mantienen una estructura de datos de archivos abiertos por su biblioteca de tiempo de ejecución y pueden cerrarse cuando finaliza el programa. Esta práctica se conoce como adquisición de recursos e inicialización (RAII). Algunos sistemas operativos invocarán los archivos almacenados en un programa si finaliza. Algunos sistemas operativos invocarán la llamada al sistema como parte de una recuperación del sistema operativo como resultado de una falla del sistema.close
close
La llamada cercana está estandarizada por la especificación POSIX .
int cerrar ( int archivos ); int fclose ( ARCHIVO * secuencia );
La función devuelve cero para indicar que el archivo se cerró correctamente. Si se produce algún error, se devuelve un valor de -1 y se establece errno correctamente.
Los errores que pueden ocurrir incluyen:
EBADF
EINTR
EIO