美文网首页
Go 获取磁盘使用情况(跨平台)

Go 获取磁盘使用情况(跨平台)

作者: tingshuo123 | 来源:发表于2019-12-11 21:14 被阅读0次

最近在项目中需要根据磁盘使用情况来做一下处理,发现没有什么标准库可以获取磁盘当前使用情况,在网上找了一段代码在 Linux 下运行可以,但在 Windows 跑会抛异常。

后来在网上找到了这篇文章,文章分别给出了两个平台各自获取磁盘使用情况的方法,在此基础上使用golang 的条件编译就可以实现跨平台获取了。

解决这个问题花了大半天,现在项目快结束了有时间就传到 gitlab 上了方便以后使用。

使用示例

获取包
go get gitlab.com/tingshuo/go-diskstate/

使用

import "gitlab.com/tingshuo/go-diskstate/diskstate"

import "fmt"

// example
func main() {
    state := diskstate.DiskUsage("/")
    fmt.Printf("All=%dM, Free=%dM, Available=%dM, Used=%dM, Usage=%d%%",
        state.All/diskstate.MB, state.Free/diskstate.MB, state.Available/diskstate.MB, state.Used/diskstate.MB, 100*state.Used/state.All)
}

源码地址:https://gitlab.com/tingshuo/go-diskstate

相关文章

  • Go 获取磁盘使用情况(跨平台)

    最近在项目中需要根据磁盘使用情况来做一下处理,发现没有什么标准库可以获取磁盘当前使用情况,在网上找了一段代码在 L...

  • go语言检查磁盘分区使用情况

    go语言检查磁盘分区使用情况 利用系统调用syscall.Statfs获取磁盘分区使用情况 函数Partition...

  • Linux 服务器日志记录

    问题描述: 需要shell将每天的磁盘使用情况保存。 问题分析: 1、获取日期。2、获取磁盘使用情况。 核心语句:...

  • psutil 模块的安装和使用

    哈哈~ 一、简介 psutil 是一个跨平台库能够轻松实现获取系统运行的进程和系统利用率包括 CPU、内存、磁盘、...

  • macOS Golang 1.5+ 跨平台编译

    Go (Golang) GOOS and GOARCH 列表 跨平台编译时命令示例

  • cd bi-bash: cannot create temp f

    查看磁盘使用情况,发现磁盘已满[root@centos]# df -hFilesystem Size ...

  • Linux磁盘使用情况查询

    查询磁盘整体使用情况 df -lh 查询磁盘整体使用情况 du -h /目录-s 指定目录占用大小汇总-h 带计量...

  • 服务器状态分析

    服务器整体情况, CPU 使用情况,内存,磁盘,磁盘 IO ,网络 IO top 看服务器整体使用情况,一般都是 ...

  • Linux RedHat7 挂载空白磁盘

    磁盘识别统计已挂载的磁盘的使用情况[root@localhost ~]# df -hFilesystem ...

  • Go语言使用Qt开发界面

    Go 语言跨平台,Qt 也跨平台,两个跨平台的框架/语言愉快地交织在了一起。我本应该获得了这种如梦一般的幸福时光才...

网友评论

      本文标题:Go 获取磁盘使用情况(跨平台)

      本文链接:https://www.haomeiwen.com/subject/pomagctx.html