Soy consciente del uptime
comando, pero devuelve segundos desde el inicio, por lo que si solo resta ese número de la marca de tiempo actual, en teoría puedo obtener un resultado diferente si el segundo cambia después de haber leído el tiempo de actividad y la marca de tiempo actual. uptime -s
es lo que quiero, pero no está disponible en centos (¿cómo se calcula por cierto?). ¿Puedo obtener ctime de / proc dir? Esto parece darme el número adecuado, pero me pregunto si cada sistema Linux tiene / proc creado en el arranque.
13
HH:MM:SS
? ¿Algo más?Respuestas:
En primer lugar,
crtime
es complicado en Linux . Dicho eso, ejecuta algo comoo
Probablemente sea exactamente lo que necesita. El
/proc
sistema de archivos está definido por el estándar LFS y debería estar allí para cualquier sistema Linux, así como para la mayoría (¿todos?) De UNIXen.Alternativamente, suponiendo que realmente no necesita precisión de segundos, sino que solo necesita que la marca de tiempo sea correcta, puede usar
who
:Desde
man who
: -b, - hora de inicio del último inicio del sistemaPuede convertir eso a segundos desde la época usando GNU
date
:fuente
utmp
(por init) como la entrada de "arranque del sistema" y se lee porwho -b
. La hora del sistema puede estar equivocada hasta bien entrado el inicio.who -b
en mi RPI dice que arranca en 1970, y otro RTC-ARM dice menos 2.008 ;-)Otra solución es
/proc/stat
'sbtime
[1]:Salida de ejemplo:
Esta es una marca de tiempo de segundos desde la época.
[1] http://man7.org/linux/man-pages/man5/proc.5.html
fuente