前提文件属于在内存中运行状态,下面以apache 日志文件为例
lsof /var/log/httpd/access_log
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 20537 root 7w REG 8,1 16867 263907 /var/log/httpd/access_log
查看文件存储位置,表明文件存储在/proc/20537/fd/7 文件中.(ps. 图片中7w 表明文件在7文件中)
rm -rf /var/log/httpd/access_log
lsof -p PID 查看文件状态
httpd 20537 root 7w REG 8,1 16867 263907 /var/log/httpd/access_log (deleted)
切换目录查看文件 cd /proc/20537/fd;cat 7
发现正是我们要的文件.内容追加到删除的目录
cat 7 > /var/log/httpd/access_log
重载apache服务.访问网站发现日志正常显示
ok