Estou ciente do uptime
comando, mas ele retorna segundos após a inicialização, por isso, se eu apenas subtrair esse número do carimbo de data / hora atual, em teoria, posso obter um resultado diferente se o segundo mudar depois de ler o tempo de atividade e o carimbo de data / hora atual. uptime -s
é o que eu quero, mas não está disponível no centos (como é calculado btw?). Posso apenas obter ctime de / proc dir? Isso parece me dar o número adequado, mas eu me pergunto se todos os sistemas Linux criaram / proc criados na inicialização.
12
HH:MM:SS
? Algo mais?Respostas:
Primeiro de tudo,
crtime
é complicado no Linux . Dito isto, executando algo comoou
provavelmente é exatamente o que você precisa. O
/proc
sistema de arquivos é definido pelo padrão LFS e deve estar lá para qualquer sistema Linux e para a maioria (todos?) UNIXen.Como alternativa, supondo que você não precise realmente de segundos de precisão, mas que apenas o carimbo de data e hora esteja correto, você pode usar
who
:De
man who
: -b, - hora de inicialização da última inicialização do sistemaVocê pode converter isso em segundos desde a época usando o GNU
date
:fonte
utmp
(por init) como a entrada "inicialização do sistema" e lido porwho -b
. A hora do sistema pode estar incorreta até a inicialização.who -b
no meu RPI diz ele iniciou em 1970, e outra RTC-less ARM diz 2.008 ;-)