Linux打开的文件描述符必须手动close吗

时间会戳穿你的谎言 2011-10-17 05:42:31
如题,文件描述符必须手动close吗?在看《Linux程序设计》的时候,发现里面有的例子close了,有的没有,那到底需不需要手动close呢?如果不close会有什么影响?
...全文
523 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
几天没来没想到有这么多人关心,谢谢各位了!
IterZebra 2011-10-27
  • 打赏
  • 举报
回复
最好在不使用的时候关闭,尽管系统可以在你进程结束的时候帮你关闭。
dd_zhouqian 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zmlovelx 的回复:]

一个进程的打开的文件描述符是有默认上限的。

最好是有对应close
[/Quote]
dd_zhouqian 2011-10-18
  • 打赏
  • 举报
回复
shexinwei 2011-10-18
  • 打赏
  • 举报
回复
这是一种良好的编程习惯。谁打开,谁关闭。谁开辟,谁释放。
弱水垂钓 2011-10-18
  • 打赏
  • 举报
回复
打开关闭对应就像malloc/free,new/delete
帅得不敢出门 2011-10-18
  • 打赏
  • 举报
回复
一个进程的打开的文件描述符是有默认上限的。

最好是有对应close
  • 打赏
  • 举报
回复
守护进程会close的。
子谋 2011-10-17
  • 打赏
  • 举报
回复
没有强制规定,如果你不关,进程结束时也会被kernal强制关掉,但是进程结束之前,会一直保持打开,不会随函数结束而关闭,这一点有些类似于malloc……
系统对一个程序最多能同时打开的文件数有规定,不自己关有可能导致后面的需要打开的文件无法打开……
成对编码原则是一个非常良好的编程习惯,自己打开的东西就应该自己来关闭……
freetstar 2011-10-17
  • 打赏
  • 举报
回复
不需要,kernel会帮助关,当然自己手动close最好
Linux-Torvalds 2011-10-17
  • 打赏
  • 举报
回复
程序结束后,会自动帮你的close。

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧