در بیشتر سیستمفایلها یک برنامه میتواند دسترسی به یک فایل را با استفاده از فراخوان سیستمی close() ببندد. اجرا این فراخوان سیستمی باعث میشود تا تمامی بافرها فلاش شوند، فراداده فایل بروزرسانی شود (که ممکن است حاوی نشانگر پایان فایل در دادهها باشد)، منابعی که به فایل تخصیص داده شده را آزاد کرده و به سیستم برمیگرداند (از جمله توصیفگر پرونده فایل مورد نظر)، و جدول سیستمی که فایلهای در حال استفاده را نشان میدهد را بروزرسانی میکند. برخی از زبانهای برنامهنویسی، ساختاری از فایلهای بازشده توسط کتابخانه زمان اجرایشان را نگهداری میکنند که ممکن است وقتی برنامه به اجرای خود خاتمه میدهد، از بین برود. برخی از سیستمعاملها وقتی که اجرای یک برنامه به پایان میرسد یا به هر دلیل خاتمه مییابد، به طور خودکار فراخوان سیستمی close() را هم اجرا میکنند. برخی از سیستمعاملها هم در تلاش برای بازآوری سیستم در حین بوقوع پیوستن یک اتفاق، فراخوان سیستمی close را صدا میزنند.
این فراخوان سیستمی در پازیکس به صورت استاندارد درآمده است:
int close (int filedes);
int fclose(FILE *stream);
تابع برای نشان دادن اینکه فایل با موفقیت بسته شده است، عدد 0 را برمیگرداند. اگر خطایی در حین بستن فایل اتفاق بیفتد، مقدار -1 برگردانده خواهد شد و متغیر سراسری errno هم باید مقدار مناسب مقداردهی خواهد شد. از جمله خطاهای ممکن میتوان به موارد زیر اشاره کرد:
آرگومان ارسالی کی توصیفگر پرونده معتبر نیست.
فراخوان سیستمی توسط یک سیگنال قطع شده است.
یک خطای I/O بوقوع پیوسته است.