工作原理:进程每打开文件都会生成一个文件句柄FD来标识一个文件,进程打开的文件如果没有被释放,可以通过文件句柄FD来恢复删除的文件

注意:适合恢复进程一直在打开一个文件,例如日志文件,如果配置文件进程启动的时候读取马上释放掉该文件的句柄通过这种方式是恢复不了的;同时如果打开的文件被删除掉,同时把服务重启了,服务被重启这个文件句柄也会被释放掉,通过lsof方式也是无法恢复的;

安装:yum install lsof -y

  • 查看打开/var/log/messages文件的进程

    这里打开/var/log/messages文件的进程是rsyslog,进程pid是925,属主root,4表示文件FD,w是写状态
[root@master ~]# lsof | grep messages
rsyslogd 925 root 4w REG 253,0 194666 35851428 /var/log/messages
in:imjour 925 963 root 4w REG 253,0 194666 35851428 /var/log/messages
rs:main 925 964 root 4w REG 253,0 194666 35851428 /var/log/messages
  • 删除该文件
rm -rf /var/log/messages
  • 再次查看打开/var/log/messages文件的进程(deleted)
[root@master ~]# lsof | grep messages
rsyslogd 925 root 4w REG 253,0 195350 35851428 /var/log/messages (deleted)
in:imjour 925 963 root 4w REG 253,0 195350 35851428 /var/log/messages (deleted)
rs:main 925 964 root 4w REG 253,0 195350 35851428 /var/log/messages (deleted)
  • 查看进程的、文件句柄
[root@master ~]# ll /proc/925/fd/4
l-wx------ 1 root root 64 May 11 00:37 /proc/925/fd/4 -> /var/log/messages (deleted)
  • 根据文件句柄恢复
cp /proc/925/fd/4 /var/log/messages

最新文章

  1. 【目录】JUC锁框架目录
  2. Android签名总结
  3. PostGreSQL最简安装
  4. 【转】C++析构函数为什么要为虚函数
  5. URAL-1997 Those are not the droids you're looking for 二分匹配
  6. 每周.NET前沿技术文章摘要(2017-06-07)
  7. Redis、Memcache与MongoDB的区别
  8. Android开发学习之路--UI之简单聊天界面
  9. Socket编程实践(10) --select的限制与poll的使用
  10. Http通讯Util
  11. Python爬虫入门教程 15-100 石家庄政民互动数据爬取
  12. Caused by:org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type "" available: expected at least 1 bean which qualifies as autowire candidate
  13. Get Luffy Out * HDU - 1816(2 - sat 妈的 智障)
  14. Vue:$set和$delete
  15. 62.Xcode 添加代码块
  16. css中如何实现左边的高度随着右边改变而改变
  17. 解决SVN CONNOT VERIFY LOCK ON PATH NO MATCHING LOCK-TOKEN AVAILABLE
  18. SharePoint 2013 启用 以其他用户身份登陆(Sign in as different user)
  19. 修复eclipse build-helper-maven-plugin 异常
  20. G-Sensor 8452驱动及相关

热门文章

  1. Django请求原理(二)
  2. javascript常用实例的实现与封装
  3. 同一台服务器(电脑)运行多个Tomcat
  4. html 5 新特性
  5. UVA 1210 Sum of Consecutive Prime Numbers
  6. 51Nod 1080
  7. 【设计模式】 模式PK:观察者模式VS责任链模式
  8. Item 8 覆盖equals时请遵守通用约定
  9. 省队集训Day1 总统选举
  10. 继承自UITableView的类自带tableView属性,不需要在创建该属性,因为父类UITableView已经创建.