Estoy trabajando en un sistema Linux de multiprocesos y necesito generar identificaciones únicas. La seguridad no es una consideración, por lo que un generador de ID que comience en cero y cuente estará bien. También es solo dentro de una máquina local, sin red involucrada. Obviamente, no es difícil implementar esto, pero me preguntaba si ya se proporcionó algo (preferiblemente ligero).¿Cómo puedo generar ID exclusivos para todo el sistema en Linux?
Respuesta
Esto suena como un trabajo para ... ... uuidgen
:
% uuidgen
975DA04B-9A5A-4816-8780-C051E37D1414
Si usted quiere construir en su propia aplicación o servicio, tendrá que libuuid
:
#include <uuid/uuid.h>
#include <iostream>
int main()
{
uuid_t uu;
uuid_generate(uu);
char uuid[37];
uuid_unparse(uu, uuid);
std::cout << uuid << std::endl;
}
Hay una herramienta de línea de comandos llamada uuid que hará exactamente lo que quieras. No estoy seguro de si se instala de manera predeterminada en varias distribuciones, por lo que puede que tenga que hacerlo usted mismo.
También es útil ..
cat /etc/machine-id
El/archivo de la máquina-id/etc contiene la ID de máquina única del sistema local que se establece durante la instalación. La ID de la máquina es una cadena de ID de máquina con minúscula terminada en hexadecimal y 32 caracteres. Cuando se decodifica desde hexadecimal, esto corresponde con una cadena de 16 bytes/128 bits.
Comprobé un sistema Debian que estaba a la mano y ** no pude ** encontrar ese archivo. –
- 1. Mutex en todo el sistema en Python en Linux
- 2. ¿Cómo establecer umask en todo el sistema?
- 3. ¿Cómo puedo pasar correctamente extras exclusivos a un intento pendiente?
- 4. cómo generar explicar el plan para todo procedimiento almacenado
- 5. ¿Cómo funciona el sistema() exactamente en Linux?
- 6. reinicializar la variable de entorno de todo el sistema en linux
- 7. Generar ID único
- 8. ID único del sistema en Ruby ...?
- 9. Problemas para comprender todo el sistema ecológico web OSGi
- 10. Programación de sistema Linux
- 11. todo el sistema bindingRedirect para F # 4.0.0.0 a 4.3.0.0
- 12. ¿Cómo puedo borrarInterval() para todo setInterval()?
- 13. Pausa confiablemente Reproducción multimedia en todo el sistema en Android
- 14. Conseguir bloqueo exclusivo de todo el sistema en Java
- 15. Sistema de gestión de versiones para Linux
- 16. ¿Cómo detectar el cierre del sistema pendiente en Linux?
- 17. ¿cómo puedo arreglar xcode compilando todo todo el tiempo?
- 18. ¿Cómo puedo generar un "Almacén de claves" para Google Play?
- 19. Javascript: obtenga todo el objeto donde id es log_XXXX
- 20. Algoritmo para generar una ID única en C++?
- 21. Cómo generar una ID de sesión única en php
- 22. Compilación cruzada para un sistema Linux basado en ARM incrustado
- 23. ¿Cómo puedo generar RDOC para (todos) Rails?
- 24. ¿Cómo puedo generar ctags para CoffeeScript?
- 25. Cómo puedo generar WADL para servicios REST
- 26. ¿Cómo generar una ID de solicitud única en Rails?
- 27. ¿Cómo puedo detectar el sistema operativo en Perl?
- 28. Cómo generar ID de objeto único en mongodb
- 29. ¿Cómo puedo generar el archivo .svc?
- 30. ¿Dónde puedo encontrar la primera versión del sistema operativo Linux?
Gracias por la respuesta. ¿Hay algo que pueda invocarse dentro de un proceso, en lugar de tener que iniciar uno nuevo solo para devolver la identificación? – gimmeamilk
Sí. He actualizado mi respuesta con un ejemplo en C++. – Johnsyweb
muchas gracias – gimmeamilk