猿问
如何在golang中获取当前主机的唯一标识符?
我想获取在 golang 中用作许可证名称的当前主机的唯一标识符。怎么做 ?比如像C:
gethostid() //can get the host id
BIG阳
浏览 1466
回答 2
2回答
UYOU
您可能想要machine-id。http://man7.org/linux/man-pages/man5/machine-id.5.html说:机器 ID 通常在系统安装期间从随机源生成,并在所有后续引导中保持不变。可选地,对于无状态系统,如果发现它为空,则在运行时在早期启动时生成它。机器 ID 不会根据本地或网络配置或更换硬件时更改。由于这一点及其更长的长度,它是 POSIX 指定的 gethostid(3) 调用的更有用的替代。您可以通过以下方式获取machine-id(最近的)Linux 系统:cat /etc/machine-id# orcat /var/lib/dbus/machine-id大多数主要操作系统都有唯一的主机标识符。尽管如此,仍可能存在非唯一的主机 ID(由映像/克隆/备份-恢复引起)。您还可以看看我的golang包装设备ID的执行细节,这适用于BSD,Linux和OS X和Windows,无需管理员权限。
0
0
0
慕的地6264312
gethostid(3) 是一个 UNIX/BSD 特定的 libc 函数。从 /etc/hostid 读取在非 UNIX 系统上不起作用,并且与平台无关。既然 go 没有提供像 gethostid() 这样的东西,为什么不像其他平台独立语言(如 JAVA)那样实现它,
0
0
0
随时随地看视频
慕课网APP
相关分类
Go
我要回答