【问题标题】:Get date/time of last reboot programmatically以编程方式获取上次重启的日期/时间
【发布时间】:2011-02-11 18:25:42
【问题描述】:

我想在 Linux 中以编程方式查找上次重新启动的时间。我在我的模块中使用 C 和 C++。

有 API 吗?

【问题讨论】:

    标签: c++ c linux reboot


    【解决方案1】:

    您可以调用uptime 或查看/proc/uptime。给定当前时间,并知道系统启动了多长时间,您可以计算上次重新启动的时间。

    或者,/proc/stat 中的 btime 条目直接给出启动时间(以纪元以来的秒数为单位)——在 man proc 中搜索 btime

    【讨论】:

      【解决方案2】:

      没有直接的 api,但您可以阅读 /proc/uptime "file" 以了解系统运行了多少秒,从当前时间中减去该时间 - 并假设那是机器重新启动的时间。

      /proc/正常运行时间 该文件包含两个数字:系统的正常运行时间 (秒)和时间量 在空闲进程中花费的时间(秒)。

      【讨论】:

        【解决方案3】:

        此外,您可以通过读取 /var/log/wtmp 文件找到上次重新启动时间。这是一个二进制文件,但您可以使用它(或您的 C 版本)进行解析

        http://pastebin.com/nSVw82cZ

        [警告!糟糕的编码风格!]

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-05-11
          • 2020-11-25
          • 1970-01-01
          • 2012-07-18
          • 1970-01-01
          • 1970-01-01
          • 2013-12-30
          • 1970-01-01
          相关资源
          最近更新 更多