在linux上工作大家都会用到df命令
[tommy@tommy-1 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 4.8G 389M 4.2G 9% /
/dev/sda7 271G 3.5G 254G 2% /home
/dev/sda3 4.8G 1.1G 3.5G 24% /usr
/dev/sda2 4.8G 199M 4.3G 5% /var
/dev/sda1 99M 18M 77M 19% /boot
tmpfs 997M 0 997M 0% /dev/shm
这个df命令有个问题,即是磁盘的某个卷有问题,比如offline了
那么很有可能就是当你执行df命令的时候,就挂掉了,
在开发一个系统中,需要随时获得指定磁盘的剩余空间的功能
(如果使用df,很有可能会导致程序block在那里)
所以,我们这里使用python自带的statvfs模块来完成侦测磁盘剩余空间的功能
参考
http://docs.python.org/library/statvfs.html
http://docs.python.org/library/os.html
[mps@mps-1 ~]$ python
Python 2.4.3 (#1, Sep 3 2009, 15:37:37)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> import statvfs
>>> vfs=os.statvfs("/home")
>>> vfs
(4096, 4096, 70959944, 70058799, 66396080, 73269248, 73234981, 73234981, 0, 255)
>>> dir(statvfs)
['F_BAVAIL', 'F_BFREE', 'F_BLOCKS', 'F_BSIZE', 'F_FAVAIL', 'F_FFREE', 'F_FILES', 'F_FLAG', 'F_FRSIZE', 'F_NAMEMAX', '__builtins__', '__doc__', '__file__', '__name__']
>>> available=vfs[statvfs.F_BAVAIL]*vfs[statvfs.F_BSIZE]/(1024*1024*1024)
>>> available
253
>>> capacity=vfs[statvfs.F_BLOCKS]*vfs[statvfs.F_BSIZE]/(1024*1024*1024)
>>> capacity
270
>>> used=capacity-available
>>> used
17
>>>
分享到:
相关推荐
在Python开发中,利用Python 3版本实现磁盘空间监控是常见的需求。本文深入介绍了使用Python 3来监控磁盘空间的实现方法,并具体演示了如何通过apscheduler模块进行定时任务的设置。 首先,apscheduler是一个用于...
### Python 实现获取磁盘剩余空间的两种方法详解 在日常开发工作中,有时我们需要通过脚本来监控或查询系统的磁盘剩余空间。Python 提供了多种方式来实现这一功能,包括跨平台的方法。本文将详细介绍两种不同的方法...
这类工具通常用于帮助用户监控磁盘使用情况,了解剩余空间,以便进行有效的文件管理和系统维护。 在描述中提到的“NULL”表示没有具体的详细描述,但我们可以通过标签“源码”和“工具”推测,这个小工具可能是开源...
本文将详细讲解如何利用C++来获取磁盘空间的信息,包括剩余空间、总容量以及已使用空间等关键指标。 首先,我们需要了解在Windows操作系统中,可以使用`CreateFile`函数打开一个代表物理磁盘的句柄,然后通过`...
在这个程序中,它很可能包含了磁盘空间检查的实现,包括读取磁盘信息,判断剩余空间,以及触发提醒机制的代码。 `remind.h` 是头文件,通常包含函数声明、常量定义和数据结构。在这个程序中,可能会有对外部调用的...
本文详细介绍了如何使用Python编程语言检测计算机中硬盘空间的剩余大小以及特定文件夹的内存占用情况。在进行系统资源管理或开发相关工具时,这些功能非常有用。以下是文章中介绍的知识点: 1. Python语言基础:...
在Linux系统中,我们可以使用`df`命令来获取磁盘空间信息,如`df -h`将以人类可读的格式(如KB、MB、GB)显示所有挂载点的磁盘使用情况。若想查看特定分区,如 `/home`,则运行`df -h /home`。另外,`du`命令可以...
磁盘信息通常包括磁盘的总容量、已用空间、剩余空间、磁盘类型(例如固态硬盘或机械硬盘)、磁盘分区、文件系统类型(如FAT32、NTFS)等。在Windows系统中,这些信息可以通过调用Windows API函数来获取。 1. **使用...
通过创建一个指向设备(如磁盘驱动器)的句柄,然后查询其属性,可以得到磁盘的详细信息。 3. **DeviceIoControl**: 这个函数允许我们向设备发送控制代码,从而获取特定的信息。例如,发送`IOCTL_DISK_GET_DRIVE_...
statvfs函数提供了一种方法,用于获取文件系统的详细信息,包括磁盘空间、文件系统类型和限制等。本文将详细介绍statvfs函数的使用方法、应用场景以及如何通过代码实现文件系统状态的查询。 statvfs是C语言中一个...
在IT领域,管理和监控磁盘空间是至关重要的任务,特别是在服务器和存储系统中。"drvspace.rar_space" 提供的代码可能是一个实用工具或库,用于检查特定驱动器的可用磁盘空间。以下是对这个主题的详细解释: 1. **...
`GetDiskFreeSpaceEx`是Windows操作系统提供的一个API函数,用于获取指定路径的磁盘空间信息,包括总容量、已用空间、可用空间以及簇大小。这个函数在`kernel32.dll`库中定义,可以被各种编程语言调用,如C++、C#、...
标题中的“diskfree-statvfs-df:无盘statvfs df”和描述中的简短信息表明,这个主题可能涉及使用Python编程语言来处理磁盘空间信息,特别是与`statvfs`和`df`命令相关的功能。在Linux和Unix系统中,`statvfs`是用于...
在Linux和Unix系统中,`df`命令是最常用的工具,用于显示磁盘空间使用情况,同时也提供了文件系统的详细信息,包括文件系统类型。另外,`mount`命令可以显示已挂载的文件系统的详细信息,包括其名称。还可以通过...
`fs.statvfs()`提供磁盘空间的基本信息,如总容量、已用空间和剩余空间。`diskusage`库则提供更详细的磁盘使用率、挂载点等信息。 4. **网络状态**: `net_0.js`可能涉及网络状态的获取,这可能需要使用`os....
6. **程序开发**:在C++中,可以使用如`<sys/statvfs.h>`库中的`statvfs`函数来获取磁盘空间信息。这个函数返回一个结构体,其中包含了关于文件系统的总大小、已用空间、可用空间等信息。 7. **实时监控**:为了...
在JavaScript中,Node.js提供了`fs`模块的`fs.statvfs()`方法,可以获取文件系统统计信息,包括磁盘空间数据: ```javascript const fs = require('fs'); fs.statvfs('/', (err, stats) => { if (err) throw err; ...
例如,一个简单的示例是通过pywin32创建一个Windows服务,该服务定期检查磁盘空间并发送警告邮件: ```python import win32serviceutil import win32service import win32event import servicemanager import os ...
下面我们将详细讨论如何使用Python进行磁盘空间检查。 1. **导入所需库** Python的`os`和`shutil`库提供了与操作系统交互的能力,包括获取磁盘信息。首先,我们需要导入这两个库: ```python import os import ...
综上所述,"自动产生文件添满硬盘"这一操作涵盖了编程技术(如Python脚本)、文件系统操作(创建、读写文件)、磁盘空间管理、随机数生成以及安全性与效率的考量等多个IT知识点。通过学习和实践这些知识,我们可以更...