Dmesg

如何從命令行列印核心時間?

  • February 26, 2016

如何將uptime輸出轉換為自紀元以來的秒數以與dmesg輸出進行比較?正常執行時間是否與核心消息時間具有相同的解析度?有沒有辦法比 from 更直接地獲取核心時間uptime

➜  ~ echo "hi" > /dev/kmsg
➜  ~ dmesg | tail
[  859.214564] hi
➜  ~ uptime
10:08  up 2 days, 43 secs, 2 users, load averages: 1.69 1.64 1.54

根據您的 Unix 風格,/proc文件系統可能在某個地方有一個正常執行時間文件,其中包含您想要的資訊。

Linux> cat /proc/uptime
5899847.37 23165596.55

uptime以及同一時間的命令輸出:

Linux> uptime
16:46:27 up 68 days, 6:51,  3 users,  load average: 0.01, 0.02, 0.05

所以 5899847.37/86400 = 68.28527 –> 68 天 6 小時 51 分鐘。

自 1970 年 1 月 1 日以來,核心時間儲存為秒。您是否希望將其視為一個值?或者您是否希望查看核心認為的實際日期/時間?

對於後者,您可以只使用date -u.

如果您想要自 1970 年 1 月 1 日(紀元)以來的目前秒數,並且已經perl安裝,您可以執行perl -e 'print time()."\n";'

您也可以使用該date命令,使用date +"%s"它返回相同的資訊。

如果您想知道系統執行了多長時間,那麼uptime是最好的工具。

引用自:https://unix.stackexchange.com/questions/265284