在一些开源代码中,使用类似下面的代码创建socket,但在进程退出时候,没有显式调用close来关闭创建的socket。
static int getsocket(void)
{
static int s = -1;
if (s < 0) {
s = socket(AF_INET, SOCK_DGRAM, 0);
if (s < 0)
err(1, "socket(SOCK_DRAGM)");
}
return s;
}
是否会造成资源泄露?
linux是否会在进程退出时候默认清除所有相关暂用资源?
请提供一下相关参考书籍、文档
还是没有明白,看了一些教程中,部分在创建socket后,退出前关闭,但有的代码就没有关闭。
是否有一个准则来确定什么时候需要主动关闭,什么时候无需关闭?
Linux下socket创建后,进程退出是否需要主动调用close关闭
答案:2 悬赏:0
解决时间 2021-02-21 13:43
- 提问者网友:心裂忍耐
- 2021-02-21 01:10
最佳答案
- 二级知识专家网友:劳资的心禁止访问
- 2021-02-21 01:25
1. 不会
2. 会
3. 参考wait函数
2. 会
3. 参考wait函数
全部回答
- 1楼网友:最后战士
- 2021-02-21 01:48
进程退出 必须要父进程进行回收 要不然会产生孤儿进程造成资源浪费。也会对系统产生影响。推荐ibm出的unix环境高级编程 或者鸟哥的linux私房菜。linux跟unix差不多。希望能帮到你
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯