跑:
lsof|grep delete
可以find一些打开fd的进程,但是系统表示已经删除了:
mingetty 2031 root txt REG 8,2 15256 49021039 /sbin/mingetty (deleted)
我看在/ proc文件系统中:
ls -l /proc/[pid] lrwxrwxrwx 1 root root 0 9月 17 16:12 exe -> /sbin/mingetty (deleted)
但实际上,可执行文件(/ sbin / mingetty)在/ sbin / mingettypath中是正常的。
和一些套接字显示这种情况:
ls -l /proc/[pid]/fd 82 -> socket:[23716953]
但是,使用命令: netstat -ae|grep [socket id]可以find它。
为什么操作系统显示这些信息?
也许你跑yum update ,mingetty得到升级,你观察的exe是旧的,实际上删除的版本。
正如你可能或可能不知道的,在Linux中,一些文件不会被删除,直到所有的文件句柄都被closures。 旧的mingetty仍在运行,并保持文件句柄。