我有一个程序,应该生成一个socket。使用strace,我得到了下面的跟踪行
bind(6, {sa_family=AF_UNIX, sun_path="/home/me/x"}, 110) = 0
然而,"homemex "并不存在,我也没有看到调用unlink。即使调用成功(=0),也没有创建文件,这可能吗?
免责声明:该程序的问题是 https:/github.comnixcloudip2unix。 所以它通过替换套接字做了一些讨厌的事情。然而,绑定调用成功,程序正常工作,所以我是不是漏掉了什么?在所有情况下,文件不是应该存在了吗?
实际上,我认为这是不可能的。我没有考虑到的是 strace
不跟着孩子走,所以经过有用的提示。strace -f
显示了取消链接的调用。我想 inotifywait
会发现套接字文件实际上是在解链前创建的......。