关于进程、线程和SOCKET资源释放的问题

Artist_jim 2012-04-11 12:53:18
首先关于SOCKET的,假如创建了多个SOCKET,然后主函数 return 返回后,系统会不会自动释放那些SOCKET的资源,如果是手动关闭程序呢?

再来是关于进程和线程的,加入手动关闭程序,不是通过调用释放资源的函数和return ,系统会不会自动释放资源?

如果可以的话,能给些详细的信息?如果能说下系统释放资源的一些规则那就更好了。谢谢
...全文
484 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenyan008 2012-04-12
  • 打赏
  • 举报
回复
socket是内核维护的,当打开一个socket再fork的时候,这个socket的内核引用计数为2,关闭一个进程后,该socket的引用计数为1,该socket不会被内核释放;比如:用于侦听的socket;
惬意 2012-04-11
  • 打赏
  • 举报
回复
linux系统中的每一个进程在终止了之后都会执行一段相同的代码,而这段代码就是用来释放资源的,比如进程打开的文件描述符。。。
恨天低 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用 1 楼 的回复:

进程退出时,所有的资源都会释放的,一了百了


在进程中new/malloc一块内存,然后没去delete/free。进程退出,所占的内存资源会释放??
[/Quote]

会的。
恨天低 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

进程退出时,所有的资源都会释放的,一了百了
[/Quote]

在进程中new/malloc一块内存,然后没去delete/free。进程退出,所占的内存资源会释放??
liujj619 2012-04-11
  • 打赏
  • 举报
回复
通通释放,进程都没了,所有的资源也就不复存在了!
justkk 2012-04-11
  • 打赏
  • 举报
回复
进程退出时,所有的资源都会释放的,一了百了
akainixing 2012-04-11
  • 打赏
  • 举报
回复
楼上正解,会释放,SOCKET建立起来的缓冲区会被刷新,然后释放……

23,120

社区成员

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

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