首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >端口所有者在终止进程后切换到netstat

端口所有者在终止进程后切换到netstat
EN

Unix & Linux用户
提问于 2017-08-16 15:15:50
回答 1查看 681关注 0票数 2

我在两个进程之间建立了一个联系:

代码语言:javascript
复制
netstat -tpn | grep 9999
tcp        0      0 127.0.0.1:*58728*         127.0.0.1:9999          ESTABLISHED 17366/*my_app.bin*

在扼杀了这个过程之后,

  1. 连接仍处于ESTABLISHED状态。

  1. 我注意到端口58728仍然在netstat表中,具有另一个进程名:
代码语言:javascript
复制
tcp        0      0 127.0.0.1:*58728*         127.0.0.1:9999          ESTABLISHED 19645/*udhcpc*

怎么可能是?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2017-08-20 11:26:15

问题似乎是udhcpc过程是从我的my_app.bin过程中产生的。

在这个派生过程中,派生过程继承了my_app.bin的所有打开文件描述符。因此,当我从my_app.bin关闭套接字时,它不是从udhcpc关闭的。

解决办法:

  1. 打开套接字时使用O_CLOEXEC,或稍后使用带有FD_CLOEXEC标志的fcntl()
  2. 在生成过程中,关闭所有不相关的打开文件描述符.

在我的例子中,我不控制udhcpc,所以我需要使用选项号1

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/386464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档