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