有没有命令检查机器是否已重新启动?
我已经尝试过last reboot | head -3
和who -r
,但我注意到即使机器关闭,两者也会给出相同的结果。
答案1
如果您想要计算机自上次完全关闭或重新启动以来运行的时间,您可以使用uptime
。例如,在我的笔记本电脑上:
$ uptime
16:25:57 up 5 days, 1:47, 2 users, load average: 1.20, 1.04, 1.26
请注意,这不计算笔记本电脑暂停的时间。我通常每天晚上都会暂停我的笔记本电脑,但正如您所看到的,尽管我每晚都睡得很好,但它仍然报告超过 5 天的正常运行时间。
答案2
执行此命令将显示启动列表及其启动 ID 和时间戳。最近的启动将列在顶部。通过比较启动 ID,您可以轻松确定是否发生了重新启动。
对于使用systemd init系统的系统,可以使用以下命令:
journalctl --list-boots
或者,您可以将 systemctl 命令与 show 选项结合使用来检索上次启动的时间戳。具体来说,可以使用以下命令:
systemctl show --property=ActiveEnterTimestamp systemd-udevd.service
此命令获取 systemd-udevd.service 的时间戳,该服务在引导过程的早期启动。
与之前的方法相比,这两种方法都提供了更精确、更优雅的解决方案,因为它们直接访问系统日志和 systemd 数据。选择最适合您要求的方法,并享受更简化的方法来检查计算机是否已重新启动。
答案3
使用uptime
与选项-s
和-p
系统启动时间:uptime -s
系统启动、运行时间:uptime -p
检查与last
和-x
-x
显示系统关闭条目和运行级别更改。
last -x shutdown
last -x reboot
last -x reboot -3
检查与who
系统启动时间:who -b