当前位置: 首页 > news >正文

哈尔滨建设网站平台杭州广告设计公司

哈尔滨建设网站平台,杭州广告设计公司,哈尔滨搜索引擎排名,网络维护人员招聘如题,rm文件后,使用df -h看可用空间,并未增加,这是怎么回事?原来,是有进程在访问这个文件,使用“lsof | grep delete”找到进程并kill掉,此时再看可用空间,便增加了。 我…

        如题,rm文件后,使用df -h看可用空间,并未增加,这是怎么回事?原来,是有进程在访问这个文件,使用“lsof | grep delete”找到进程并kill掉,此时再看可用空间,便增加了。

        我们再复现一下,首先这里用perl写了一个demo程序,代码如下:

#! /usr/bin/env perl
# 用来测试程序写文件时,rm文件后通过lsof | grep delete查找仍在访问已删除文件的进程
# 该程序每隔1s往文件追加写入1行,依次写入1、2、3...,写到1000000时,又会从1开始继续写,以此循环
# 循环的目的是让程序可以持续在写文件,方便观察文件内容的变化
use strict;my $filePathName = "/tmp/ubuntu-12.04.5-desktop-i386.iso";
open (MYFILE, ">>$filePathName") or die ("\nError: 创建并打开文件失败: $filePathName 由于: $!\n");
for (my $i = 1; $i <= 1000000; $i++) {sleep(1);print MYFILE $i . "\n";MYFILE->autoflush(1);if ($i == 1000000) {$i = 0;}
}
close (MYFILE);

        这里为了效果明显,往/tmp目录放了一个756MB的ubuntu的iso文件,perl程序以追加模式往该文件写数据,每秒写1行数据。此时我们在1个shell窗口把该perl程序跑起来:

$ ./WriteToFile.pl

         再打开1个shell窗口,执行以下命令:

$ df -m
Filesystem          1M-blocks  Used Available Use% Mounted on
devtmpfs                 1936     0      1936   0% /dev
tmpfs                    1965     0      1965   0% /dev/shm
tmpfs                    1965    10      1956   1% /run
tmpfs                    1965     0      1965   0% /sys/fs/cgroup
/dev/mapper/cl-root     65980 23587     42393  36% /
/dev/sda1                1014   288       727  29% /boot
/dev/mapper/cl-home     32213   616     31597   2% /home
osshare                 99900 39424     60477  40% /media/sf_osshare
tmpfs                     393     1       393   1% /run/user/1000

$ rm /tmp/ubuntu-12.04.5-desktop-i386.iso

$ df -m
Filesystem          1M-blocks  Used Available Use% Mounted on
devtmpfs                 1936     0      1936   0% /dev
tmpfs                    1965     0      1965   0% /dev/shm
tmpfs                    1965    10      1956   1% /run
tmpfs                    1965     0      1965   0% /sys/fs/cgroup
/dev/mapper/cl-root     65980 23586     42394  36% /
/dev/sda1                1014   288       727  29% /boot
/dev/mapper/cl-home     32213   616     31597   2% /home
osshare                 99900 39424     60477  40% /media/sf_osshare
tmpfs                     393     1       393   1% /run/user/1000

        这里我们看到删除文件后,使用空间几乎没有变化,这是因为perl程序正在访问该文件,虽然文件被删除了,但是inode并未释放,所以磁盘空间不会释放。这时我们执行如下命令:

$ lsof | grep delete

此处省略一些结果

4      47662 /memfd:wayland-cursor (deleted)
gnome-ter 2671 2909 pool              mousel    6u      REG                0,1   1177344      47662 /memfd:wayland-cursor (deleted)
perl      3088                        mousel    3w      REG              253,0 792723594   68232356 /tmp/ubuntu-12.04.5-desktop-i386.iso (deleted)

$ cd /proc/3088/fd
$ ll
total 0
lrwx------. 1 mousel mousel 64 Nov 14 21:42 0 -> /dev/pts/2
lrwx------. 1 mousel mousel 64 Nov 14 21:42 1 -> /dev/pts/2
lrwx------. 1 mousel mousel 64 Nov 14 21:42 2 -> /dev/pts/2
l-wx------. 1 mousel mousel 64 Nov 14 21:42 3 -> '/tmp/ubuntu-12.04.5-desktop-i386.iso (deleted)'

        这时我们可以看到该文件被3088的pid进程访问着,也就是perl程序,进入/proc/<pid>/fd可以看到文件描述符3指向了该文件,这时我们将进程kill掉,硬盘空间就可以释放了。

$ kill -9 3088

$ df -m
Filesystem          1M-blocks  Used Available Use% Mounted on
devtmpfs                 1936     0      1936   0% /dev
tmpfs                    1965     0      1965   0% /dev/shm
tmpfs                    1965    10      1956   1% /run
tmpfs                    1965     0      1965   0% /sys/fs/cgroup
/dev/mapper/cl-root     65980 22830     43150  35% /
/dev/sda1                1014   288       727  29% /boot
/dev/mapper/cl-home     32213   616     31597   2% /home
osshare                 99900 39427     60474  40% /media/sf_osshare
tmpfs                     393     1       393   1% /run/user/1000

        此时还可以还原删除的文件,可以执行如下命令,由于perl程序一直在对文件执行写操作,还原的内容为执行cp时的内容

$ cp /proc/3088/fd/3 /tmp/backup.iso

       

http://www.yayakq.cn/news/466038/

相关文章:

  • 搭建网站代码wordpress cosy
  • 阿里云备案要关网站吗手游网站怎么做
  • 下载建设银行官方网站下载WordPress主题开发核心主食
  • 建设部网站质量终身责任承诺书wordpress映射到外网
  • 建网站网络推广优势包装设计网站官网
  • 镇江网站推广排名做公司网站有什么亮点
  • 银川网站开发公司网络科技公司名称
  • 乔托运智能建站大专自考报名入口官网
  • 襄阳网站建设找下拉哥科技保险网官网
  • 那个网站做网站托管公众号网页怎么制作
  • 新乡网站建设哪家优惠站内关键词排名优化软件
  • 网页制作与网站建设技术大全pdf中国建筑网建筑通
  • 为什么网站百度搜不到了网站设计工资一般多少
  • 深州做网站公司关于茶叶的网站模板免费下载
  • 东莞建设局门户网站做类似淘宝的网站开发需要什么
  • 广东外贸网站推广做自己的网站要多久
  • 青岛做网站方案zencart 网站老是跳转到原地址
  • 企业网站开发课程的能力应用电子商务网站开发代码
  • 网站在线此网站三天换一次域名
  • 作品展示网站模板大连搜狗推广
  • 网站seo关键词优化技巧成都网站建设单位
  • 网站建设海报图片企业门户网站的主要技术指标
  • 台州网站快速优化排名wordpress08影院源码
  • 建设企业网站小微石家庄建设局
  • 南开区网站建设南京企业做网站
  • 做网站的客户资料交换qq群建设网站查询
  • 南宁公司网站建设游戏网官网
  • 六安网站建设 220网站建站建设
  • wordpress站点迁移wordpress实例站
  • 网站 视觉冲击给彩票网站做代理违法吗