当我在名称列中运行lsof命令时,对于套接字,某些数字会出现在括号中,如下所示。这是什么意思?
command pid user fd Name
process 8197 root 29 socket:[3050474]
答案 0 :(得分:2)
TL; DR :与该套接字关联的唯一编号
Unix的一个定义规则是" Everything is a file"。因为套接字也由非常特殊的文件系统表示,通常称为 sockfs 。
传统文件系统上的文件有 inode-numbers - 允许识别它们的唯一数字:
$ ls -li /bin/bash
7864369 -rwxr-xr-x 1 root root 656584 Oct 15 2014 /bin/bash
^^^^^^^
inode-number
同样适用于 sockfs ,所有套接字也都有 inode-numbers 。
对于没有实际文件模式的特殊文件系统,所有文件都具有fsname:[inode-number]
形式的通用名称(另请参阅:linux+v3.19.1/fs/dcache.c#L2945)