在指向“127.0.1.1:+xxxxx”的符号链接中,加号是做什么用的?

在指向“127.0.1.1:+xxxxx”的符号链接中,加号是做什么用的?

在我的 Linux 文件系统上,符号链接指向127.0.1.1:+xxxxx

为什么是加号? 也可以是减号吗? 为什么不直接用127.0.1.1:xxxxx

答案1

不指向文件的符号链接没有任何通用含义。在这种情况下,它可能可能是进程 ID,也可能是带有某些特殊协议的端口,也可能是其他标识符。这完全取决于是什么程序生成的。

创建这些链接的软件只是利用了以下事实:1)符号链接的目标可能不存在甚至完全无意义;2)创建符号链接是一个单系统调用的完全原子操作(就像读取其目标一样),而不像创建常规文件那样需要至少 3 个单独的系统调用。

因此,即使其他机制可能不可靠,符号链接创建也可能被滥用为锁定方式(确保程序的单一实例)。程序不需要符号链接来真正解析为真实文件:它只关心创造链接成功,或者由于链接已经存在而失败。

答案2

据我所知,“+”表示 IP 后面的数字(“xxxxx”)指的是“进程 ID”(而不是通常使用表示法 [IP 地址]:[端口号] 的端口)。

如果特定应用程序使用这种“符号”(我不确定我是否将其称为“符号”,因为我不知道任何“官方”文档),则可能指的是其他内容 - 但话又说回来,这始终是可能的,不仅仅是符号链接。据我所知(并且可以通过不太广泛的搜索找到)的唯一情况是“+XXXX”始终指的是进程 ID。

相关内容