开发者社区 问答 正文

为什么Linux open底层设备操作完后必须要close?

如题,为什么一定要 close 才行?

展开
收起
a123456678 2016-06-21 16:08:52 2824 分享 版权
1 条回答
写回答
取消 提交回答
  • 用打开文件来说明:
    如果是共享的方式打开,系统会在文件表中的引用计数增1,这个文件表是整个系统所有进程共享的,关闭文件后,引入计数会减1;当引入计数变为0时,系统才会从内存中删除这个文件表;如果不关闭,这个文件表就一直被留在内存中了;
    如果是独占的方式打开,表示当前进程占用了这个文件(资源),在我不关闭之前,其它用户无法再打开这个文件,这说明了为什么要关闭(用完了总得让其它人来用把);

    2019-07-17 19:45:03
    赞同 展开评论