【发布时间】:2011-02-11 18:25:42
【问题描述】:
我想在 Linux 中以编程方式查找上次重新启动的时间。我在我的模块中使用 C 和 C++。
有 API 吗?
【问题讨论】:
我想在 Linux 中以编程方式查找上次重新启动的时间。我在我的模块中使用 C 和 C++。
有 API 吗?
【问题讨论】:
您可以调用uptime 或查看/proc/uptime。给定当前时间,并知道系统启动了多长时间,您可以计算上次重新启动的时间。
或者,/proc/stat 中的 btime 条目直接给出启动时间(以纪元以来的秒数为单位)——在 man proc 中搜索 btime。
【讨论】:
没有直接的 api,但您可以阅读 /proc/uptime "file" 以了解系统运行了多少秒,从当前时间中减去该时间 - 并假设那是机器重新启动的时间。
/proc/正常运行时间 该文件包含两个数字:系统的正常运行时间 (秒)和时间量 在空闲进程中花费的时间(秒)。
【讨论】:
此外,您可以通过读取 /var/log/wtmp 文件找到上次重新启动时间。这是一个二进制文件,但您可以使用它(或您的 C 版本)进行解析
[警告!糟糕的编码风格!]
【讨论】: