需要做校验,使得代码仅在特定服务器上运行。这就需要获得唯一标志该机器的机器码。
网上大部分说通过uuid
模块获得设备的MAC地址。但是该MAC地址在python代码重新运行后会变化,无法唯一标志。
采用dmidecode
命令获取特定序列号或者UUID。
关于dmidecode
命令的详细说明,可参考博客《(总结)Linux下获取详细硬件信息的工具:Dmidecode命令详解》。
这里,我选择机器的主板序列号作为唯一标志码,获取命令如下
sudo dmidecode -s baseboard-serial-number
python代码如下
import os
# 获得主板sn号
def getSN():
sn = os.popen("sudo dmidecode -s baseboard-serial-number | awk '{print $0}'").readlines()
return sn[0].strip()
print("当前机器的主板序列号:", getSN())