获取磁盘使用率(Linux C)

#define SYS_DISK_BUFF_LEN 256
#define SYS_DISK_NAME_LEN 80
#define SYS_100_PERSENT 100
int
get_sysDiskUsage()
{
FILE * fp;
char filesystem[SYS_DISK_NAME_LEN],available[SYS_DISK_NAME_LEN],use[SYS_DISK_NAME_LEN],mounted[SYS_DISK_NAME_LEN],buf[SYS_DISK_BUFF_LEN];
double used,blocks,used_rate;
fp=popen("df","r");
fgets(buf,SYS_DISK_BUFF_LEN,fp);
double dev_total = 0,dev_used = 0;
while(6 == fscanf(fp,"%s %lf %lf %s %s %s",filesystem,&blocks,&used,available,use,mounted))
{
dev_total += blocks;
dev_used += used;
}

used_rate = (dev_used/dev_total)*SYS_100_PERSENT;
pclose(fp);
return used_rate;
}

原文地址:http://blog.51cto.com/qiaopeng688/2140582

时间: 2024-11-15 00:59:58

获取磁盘使用率(Linux C)的相关文章

ES获取磁盘使用率情况

private void diskUage() { ClusterStateResponse stateResponse = client.admin().cluster().prepareState().get(); DiscoveryNodes nodes = stateResponse.getState().nodes(); NodesStatsResponse state = client.admin().cluster().prepareNodesStats().setFs(true)

python笔记--磁盘使用率

方法一: 使用commands.getoutput调用shell命令df获取磁盘使用率: import commands >>> import commands >>> disk_use=commands.getoutput('df -h') >>> disk_use 'Filesystem      Size  Used Avail Use% Mounted on\n/dev/sda2        18G  5.7G   12G  34% /\nt

编程实现获取linux服务器cpu、内存和磁盘使用率

proc文件系统介绍 /proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文件系统的方式为内核与进程提供通信的接口.用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数.由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取/proc目录中的文件时,proc文件系统是动态从系统内核读出所需信息并提交的. /proc目录中有一些以数字命名的目录,它们是进程目录.系统中当前运行的每一个进程在/proc下都对应一个以进程号为目录名的目录/proc/pi

获取两台linux服务器的cpu、内存、磁盘、网络等信息,可能不是最好的逻辑,但是对于小白的我自己动手收货不少

# coding: utf-8""" 作者:xiaofeng 功能:自动获取阿里云服务器的cpu.内存.磁盘.网络流量等信息,定时生产一个excel文件 版本:v1.1.5 日期:21/11/2019 版本迭代:各模块封装成方法,其中优化cpu计算方法"""import os,timeimport paramikoimport datetimeimport reimport xlwtdef main(): print("欢迎使用Linu

python获取CPU,内存,磁盘使用率

#!/usr/bin/env python # coding:utf-8 import psutil total_cpu=psutil.cpu_times().user+psutil.cpu_times().idle user_cpu=psutil.cpu_times().user cpu_syl=user_cpu/total_cpu*100 mem = psutil.virtual_memory()   #使用psutil.virtual_memory方法获取内存完整信息 mem_total=

Linux 权限、磁盘操作命令-Linux基础环境命令学习笔记

1.创建用户和用户组 1)用户和用户组 /etc/passwd 保存系统用户的基本信息 /etc/group 保存用户组信息 用户名:x:UID:GID 2)基本命令 useradd 增加用户 groupadd 增加用户组 passwd 为用户设置密码 --echo '123456' | passwd --stdin user01 echo回显 su - user01 切换用户 id user01 查看用户信息 userdel 删除用户 groupdel 删除用户组 2.用户权限 chmod u

监控磁盘使用率解决方案

描述:有 100 台centos服务器, 相互之间内网 ssh 互通, 用户名密码已知,服务器ip 列表已知, 请设计一个技术方案,输出磁盘使用率超过 90%的服务器.要求写出详细的技术方案,涉及到的命令和脚本请写好代码,第三方库请介绍安装使用说明. 方案 方案思路: 测试邮箱是否可用 设置定时任务每五分钟执行以下脚本查看占用情况 当发现占用比超过90%发送告警邮件 安装ansible服务,编译yml文件批量执行任务 测试邮件 #这里我们使用qq邮箱作为收件方 vim /etc/mail.rc

学习API之获取磁盘信息

#include <windows.h>#include <stdio.h> /************************************* BOOL GetDiskSpaceInfo(LPSTR pszDrive)* 功能:根据输入磁盘驱动器,获取磁盘信息* 参数:LPSTR pszDrive 驱动器根路径,如 D:************************************/ BOOL GetDiskSpaceInfo(LPSTR pszDrive){

C# 获取磁盘容量

原文:C# 获取磁盘容量 /// 获取指定驱动器的空间总大小(单位为B) /// </summary> /// <param name="str_HardDiskName">只需输入代表驱动器的字母即可 </param> /// <returns> </returns> public static long GetHardDiskSpace(string str_HardDiskName) { long totalSize=