1、前言
時間對操作系統(tǒng)來說非常重要,從內(nèi)核級到應(yīng)用層,時間的表達方式及精度各部相同。linux內(nèi)核里面用一個名為jiffes的常量來計算時間戳。應(yīng)用層有time、getdaytime等函數(shù)。今天需要在應(yīng)用程序獲取系統(tǒng)的啟動時間,通過sysinfo中的uptime可以計算出系統(tǒng)的啟動時間。
2、sysinfo結(jié)構(gòu)
sysinfo結(jié)構(gòu)保持了系統(tǒng)啟動后的信息,主要包括啟動到現(xiàn)在的時間,可用內(nèi)存空間、共享內(nèi)存空間、進程的數(shù)目等。man sysinfo得到結(jié)果如下所示:
3、獲取系統(tǒng)啟動時間
通過sysinfo獲取系統(tǒng)啟動到現(xiàn)在的秒數(shù),用當前時間減去這個秒數(shù)即系統(tǒng)的啟動時間。程序如下所示:
int main()
{
if (print_system_boot_time() != 0) {
return -1;
}
return 0;
}
![]() |
新聞熱點
疑難解答
圖片精選