Blu*_*lue 22 unix linux uniqueidentifier
我想从任何类Unix系统(如果可能的话)获得一个唯一的id,每次我的应用程序在同一台机器上运行时它都会持久化.如果有可能,我想从Linux或FreeBSD或Solaris等获得相同的ID ...我不想为每台机器生成一个新的id,但是获得一个已经存在的id,我更喜欢这个id来自操作系统,我不喜欢使用类似MAC地址的东西.
如果没有其他可用选项,我可以将MAC与其他内容结合使用,例如id可以是MAC地址组合的md5哈希值.
我想听听你的建议.
如果它有用,我的应用程序是用C/C++编写的.
所有这一切的目的是阻止用户运行我的应用程序两次或更多次.我想只运行一次.
Jas*_*Day 28
根文件系统的UUID怎么样?您可以/etc/fstab通过手动解析文件或使用getfsent (3)或来获取根文件系统设备getfsfile (3).一旦你的设备,你可以通过检查环节中获得UUID /dev/disk/by-uuid或从blkid命令.
Mar*_*wis 11
Solaris和Linux都提供了hostid(1)实用程序
像往常一样,最好的方法是看看其他人是如何解决同样的问题的.
FLEXlm还为其节点锁定许可证使用主机标识符.它使用的最常见的主机标识符是您的一个网络接口的以太网MAC地址,在没有任何分隔符的情况下粉碎在一起.
它还可以使用(在Windows上)C:驱动器的卷序列号(再次在没有任何分隔符的情况下一起打碎),在Solaris上输出hostid命令(IIRC,在Sun计算机上,这个数字实际上是唯一的,位于系统板上的小型可移动EEPROM).
虽然MAC地址非常容易伪造,但它现在几乎是普遍的标识(几乎所有新计算机都至少有一个以太网端口,并且它们在板上非常普遍),并且实际上是全球唯一的(在事实上,以太网协议依赖于这种独特性.这种方法会遇到的主要问题是:
| 归档时间: |
|
| 查看次数: |
40673 次 |
| 最近记录: |