linux獲取系統啟動時間示例詳解

2022-09-26 17:12:16 字數 907 閱讀 5085

1、前言

時間對作業系統來說非常重要,從核心級到應用層,時間的表達方式及精度各部相同。linux核心裡面用乙個名為jiffes的常量來計算時間戳。應用層有time、getdaytime等函式。今天需要在應用程式獲取系統的啟動時間,百度了一下,通過sysinfo中的uptime可以計算出系統的啟動時間。

2、sysinfo結構

sysinfo結構保持了系統啟動後的資訊,主要包括啟動到現在的時間,可用記憶體空間、共享記憶體空間、程序的數目等。man sysinfo得到結果如下所示:

複製** **如下:

struct sysinfo ;

3、獲取系統啟動時間

通過sysinfo獲取系統啟動到現在的秒數,用當前時間減去這個秒數即系統的啟動時間。程式如下所示:

複製** **如下:

#include

#include

#include

#include

static int print_system_boot_time()

time(&cur_time);

if (cur_time > info.uptime)

else

ptm = gmtime(&boot_time);

printf("system jbnikqrvqboot time: %d-%-d-%d %d:%d:%d\n", ptm->tm_year + 1程式設計客棧900,

ptm->tm_mon + 1程式設計客棧, ptm-tm_mday, ptm->tm_hour, ptm->tm_min, ptm->tm_sec);

return 0;

}int main()

return 0;

}測試結果如下所:

本文標題: linux獲取系統啟動時間示例詳解

本文位址:

linux獲取系統啟動時間

1 前言 2 sysinfo結構 sysinfo結構保持了系統啟動後的資訊,主要包括啟動到現在的時間,可用記憶體空間 共享記憶體空間 程序的數目等。man sysinfo得到結果如下所示 struct sysinfo 3 獲取系統啟動時間 通過sysinfo獲取系統啟動到現在的秒數,用當前時間減去這...

linux獲取系統啟動時間

1 前言 2 sysinfo結構 sysinfo結構保持了系統啟動後的資訊,主要包括啟動到現在的時間,可用記憶體空間 共享記憶體空間 程序的數目等。man sysinfo得到結果如下所示 1 struct sysinfo 3 獲取系統啟動時間 通過sysinfo獲取系統啟動到現在的秒數,用當前時間減...

linux獲取系統啟動時間

1 前言 2 sysinfo結構 sysinfo結構保持了系統啟動後的資訊,主要包括啟動到現在的時間,可用記憶體空間 共享記憶體空間 程序的數目等。man sysinfo得到結果如下所示 1 struct sysinfo 3 獲取系統啟動時間 通過sysinfo獲取系統啟動到現在的秒數,用當前時間減...