Unix系统编程()close系统调用

Posted tuhooo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unix系统编程()close系统调用相关的知识,希望对你有一定的参考价值。

close系统调用关闭一个打开的文件描述符,并将其释放回调用进程,供该进程继续使用。当一进程终止时,将自动关闭其已打开的所有文件描述符。

 

int close(int fd);

 

显式关闭不再需要的文件描述符往往是良好的习惯,会使代码后续修改的时候更具可读性,也更可靠。

文件描述符属于有限资源,因此文件描述符的关闭失败可能会导致一个进程将文件描述符资源消耗殆尽。

在编写需要长期运行并处理大量文件的程序时,比如shell或者网络服务软件,需要特别加以注意。像其他所有的系统调用一样,应对close的调用进行错误检查

 

if (close(fd) == –1)

    exit(1);

 

这类错误有:

企图关闭一个未打开的文件描述符

或则两次关闭同一文件描述符

也能捕获特定文件系统在关系操作中诊断出的错误条件

 

这个系统调用还是十分简单的,就是要注意为了避免资源浪费,用完的时候及时关掉文件描述符。

以上是关于Unix系统编程()close系统调用的主要内容,如果未能解决你的问题,请参考以下文章

Unix系统编程通用的I/O

Unix环境高级编程文件I/O

UNIX环境高级编程:文件I/O

Unix系统编程()检查进程的存在

Unix系统编程()信号处理器简介

自学:Unix环境高级编程 第一章 Unix基础知识