📅  最后修改于: 2023-12-03 15:22:20.639000             🧑  作者: Mango
在编写系统管理、监控等工具时,获取操作系统启动后的时间是一个常见的需求。Python提供了一些现有的模块和方法,可以非常方便地获取这个信息。
psutil 是一个跨平台的系统信息库,可以用来获取系统资源占用、进程信息、磁盘信息等方面的内容。其中,它提供了 Boot_time()
方法,可以获取系统启动时间。这个时间是一个 Unix 时间戳,我们需要将其转换为日期格式。
代码如下:
import psutil
import datetime
boot_time_timestamp = psutil.boot_time()
bt = datetime.datetime.fromtimestamp(boot_time_timestamp)
print("系统启动时间:", bt.strftime("%Y-%m-%d %H:%M:%S"))
运行上述代码,输出格式如下:
系统启动时间: 2022-02-19 14:13:19
类 Unix 系统上,proc 文件系统是一个伪文件系统,它提供了关于进程和系统状态的信息。在 /proc 目录下,有一个名为 uptime 的文件,其中包含了系统运行时间的信息。
代码如下:
with open('/proc/uptime', 'r') as f:
uptime_seconds = float(f.readline().split()[0])
bt = datetime.datetime.now() - datetime.timedelta(seconds=uptime_seconds)
print("系统启动时间:", bt.strftime("%Y-%m-%d %H:%M:%S"))
运行上述代码,输出格式如下:
系统启动时间: 2022-02-19 14:13:19
以上两种方式在 Unix 类系统上都可以使用,适用于任何使用 Python 的开发者。值得注意的是,第一种方式需要安装 psutil
模块,可以通过 pip install psutil
命令进行安装。在 Windows 上,psutil
的 Boot_time() 方法并不能返回正确的启动时间。