成功调用AF_UNIX的bind(2)后,没有生成socket文件。

问题描述 投票:0回答:1

我有一个程序,应该生成一个socket。使用strace,我得到了下面的跟踪行

bind(6, {sa_family=AF_UNIX, sun_path="/home/me/x"}, 110) = 0

然而,"homemex "并不存在,我也没有看到调用unlink。即使调用成功(=0),也没有创建文件,这可能吗?

免责声明:该程序的问题是 https:/github.comnixcloudip2unix。 所以它通过替换套接字做了一些讨厌的事情。然而,绑定调用成功,程序正常工作,所以我是不是漏掉了什么?在所有情况下,文件不是应该存在了吗?

unix-socket
1个回答
0
投票

实际上,我认为这是不可能的。我没有考虑到的是 strace 不跟着孩子走,所以经过有用的提示。strace -f 显示了取消链接的调用。我想 inotifywait 会发现套接字文件实际上是在解链前创建的......。

© www.soinside.com 2019 - 2024. All rights reserved.