跑步:
lsof|grep delete
可以找到一些进程打开的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/mingetty路径下是正常的。
一些插座出现了这种情况:
ls -l /proc/[pid]/fd
82 -> socket:[23716953]
但是,使用命令:netstat -ae|grep [socket id]
可以找到它。
为什么操作系统会显示此信息?
答案1
也许您运行了yum update
,mingetty 已经升级,而您观察到的 exe 是旧的、实际上已被删除的版本。
您可能知道也可能不知道,在 Linux 中,某些文件只有在使用该文件的所有文件句柄都关闭后才会被删除。旧的 mingetty 仍在运行并保留文件句柄。