Estoy aprendiendo Python. Hasta ahora solo he estado haciendo codificación básica de Python. Hace un día, verifiqué la implementación del treecomando en Python . De repente pensé en crear un clon de Python uptime. No tengo ni idea de en qué idioma se implementa y cuál sería la complejidad que implica clonarlo.
Pero no pude encontrar su código fuente. Estoy usando Fedora 14. El paquete kernel-devel está instalado. Lo hice whereis uptimepero el /usr/bin/uptimearchivo resultante muestra símbolos extraños cuando se abre con vim. Buscar en Google su código fuente tampoco podría producir los resultados deseados. ¿Dónde puedo encontrar su código fuente?

file /usr/bin/uptime. El comando de archivo utiliza una serie de heurísticas semimágicas para adivinar el contenido del archivo, en este caso, un ejecutable binario en formato ELF.strace. Mostrará todas las llamadas al sistema que realiza su aplicación. Si lo ejecutastrace uptime, mostraría (después de cargar) las llamadas abiertas en / proc / uptime y / proc / loadavg. Aunque no muestra todo, a veces es un comienzo decente en ingeniería inversaRespuestas:
El tiempo de actividad es parte del paquete 'procps', la fuente ascendente está en http://procps.sourceforge.net/ (No es un usuario de fedora, así que no estoy seguro de dónde encontrar su .src.rpm).
Sin embargo, para responder la pregunta que no hizo; eche un vistazo en / proc / uptime El primer número son segundos desde el arranque. Deberías poder convertir eso en algo utilizable con bastante facilidad :)
fuente
En general, en una distribución basada en RPM como Fedora, puede encontrar el nombre del paquete que proporciona un comando determinado
rpm -qf /path/to/command. Me gusta esto:Luego puede descargar el RPM de origen con
yumdownloader --source procps. (yumdownloader viene delyum-utilspaquete, si aún no lo tiene instalado). Una vez que tenga el src.rpm, puede descomprimirlo conrpm -io conrpm2cpio.Alternativamente, en muchos casos puede consultar el paquete RPM para la URL del proyecto, lo que puede ayudarlo a encontrar la fuente principal:
Y, genial, está el código convenientemente navegable en línea. Si lo sigue, básicamente todo lo que hace es leerlo
/proc/uptimee imprimirlo con precisión.fuente