linux c獲取系統啟動時間
sysinfo 函式原型
int sysinfo(struct sysinfo *info);
##獲取系統相關資訊結構體
sysinfo 結構體說明
struct sysinfo {
long uptime; /* 啟動到現在經過的時間 */
unsigned long loads[3]; /* 1 , 5, 15 分的系統負載*/
unsigned long totalram; /* 總的可用的記憶體大小 */
unsigned long freeram; /* 還未被使用的記憶體大小 */
unsigned long sharedram; /* 共享的儲存器的大小*/
unsigned long bufferram; /* 共享的儲存器的大小 */
unsigned long totalswap; /* 交換區大小 */
unsigned long freeswap; /* 還可用的交換區大小 */
unsigned short procs; /* 當前程序數目 */
unsigned long totalhigh; /* 總的高記憶體大小 */
unsigned long freehigh; /* 可用的高記憶體大小 */
unsigned int mem_unit; /* 以位元組為單位的記憶體大小 */
char _f[20-2*sizeof(long)-sizeof(int)];
/* libc5的補丁
};
C原始碼:
#include <stdio.h>
#include <sys/sysinfo.h>
#include <time.h>
#include <errno.h>
static int print_system_boot_time()
{
struct sysinfo info;
time_t cur_time = 0 ;
time_t boot_time = 0;
struct tm *ptm = NULL;
if (sysinfo(&info)) {
fprintf(stderr, "Failed to get sysinfo, errno:%u, reason:%s\n",
errno, strerror(errno));
return -1;
}
time(&cur_time);
if (cur_time > info.uptime) {
boot_time = cur_time - info.uptime;
}
else {
boot_time = info.uptime - cur_time;
}
ptm = localtime(&boot_time);
printf("System boot time: %d-%-d-%d %d:%d:%d\n", ptm->tm_year + 1900,
ptm->tm_mon + 1, ptm->tm_mday, ptm->tm_hour, ptm->tm_min, ptm->tm_sec);
return 0;
}
int main()
{
if (print_system_boot_time() != 0) {
return -1;
}
return 0;
}
相關推薦
linux c獲取系統啟動時間
sysinfo 函式原型 int sysinfo(struct sysinfo *info); ##獲取系統相關資訊結構體 sysinfo 結構體說明 struct sysinfo {
linux獲取系統啟動時間
pre 現在 red str family nds stderr 表達方式 space 1、前言 時間對操作系統來說非常重要,從內核級到應用層,時間的表達方式及精度各部相同。linux內核裏面用一個名為jiffes的常量來計算時間戳。應用層有time、getdayti
linux c獲取系統時間戳
#include<iostream> #include <stdlib.h> #include <stdio.h> #include <sys/time.h> #include <unistd.h> int main(){ struc
C# 獲取系統相關時間
獲取系統時鐘頻率 [DllImport("kernel32")] static extern bool QueryPerformanceFrequency(ref long PerformanceFrequency); 獲取系統時鐘計數 [DllImport("ker
C# 獲取系統當前時間 多格式
c#獲取當前日期時間 我們可以通過使用DataTime這個類來獲取當前的時間。通過呼叫類中的各種方法我們可以獲取不同的時間:如:日期(2008-09-04)、時間(12:12:12)、日期+時間(2008-09-04 12:11:10)等。 //獲取日期+時間 Dat
linux c 獲取系統當前時區
#include<stdio.h> #include<time.h> int main() { unsigned int timezone = 0; t
C++ 獲取系統當前時間方式
#include <time.h> //// 方式一 time_t tt = time(NULL); tm* t= localtime(&tt); printf("%d-%02d-%02d %02d:%02d:%02d\n", t->t
iOS 獲取系統啟動時間
做一個流量監控,之前的程式碼是通過sysctl讀取程序列表,取得kernel_task程序的啟動時間作為系統啟動時間,如果系統重啟就需要把網絡卡記錄的流量全部累加,否則用本次讀取的網絡卡流量資料減去上一次記錄的資料認為是這段時間內使用者產生的流量。 在iOS9
C# 獲取系統相關時間
獲取系統時鐘頻率 [DllImport("kernel32")] static extern bool QueryPerformanceFrequency(ref long Performance
Linux C++獲取系統名稱和ip
使用封裝的這個函式獲取系統的名稱和ip。 #include <iostream> /* cout */ #include <unistd.h>/* gethostname */
C獲取系統時間的方法(linux下)
asctime(將時間和日期以字串格式表示) 相關函式 time,ctime,gmtime,localtime 表頭檔案 #include<time.h> 定義函式 char * asctime(const struct tm * timeptr
linux下C獲取系統時間的方法
asctime(將時間和日期以字串格式表示) 相關函式 time,ctime,gmtime,localtime 表頭檔案 #include<time.h> 定義函式 char * asctime(const struct tm * ti
Linux 環境下C/C++獲取系統時間 && 每隔500ms迴圈一次程式碼實現
環境:NetBeans IDE 8.2 + 遠端主機Linux 獲取當前系統時間getCurrentTime()程式碼如下: #include<sys/time.h> long getCurrentTime(){ struct timeval tv; gett
linux-c獲取utc時間,並轉為BCD碼格式
原始碼: #include <stdio.h> #include <stdlib.h> #include <time.h> #include <math.h> void UtcBcdTime(char* utc_buf) {
Linux C獲取時間函式例項
例項詳解Linux下C獲取時間函式的程式碼。 一、time 標頭檔案: #include <time.h> 原型: time_t time(time_t *t) time_t的定義: typedef __darwin_time_t time_t; typedef long
C# 獲取系統時間及時間格式
--DateTime 數字型 System.DateTime currentTime=new System.DateTime(); 取當前年月日時分秒 currentTime=System.DateTime.Now; 取當前年 int 年=curren
Windows下C++獲取系統時間
使用GetLocalTime()函式 標頭檔案包含 Windows.h #include<Windows.h> SYSTEMTIME sysTime; GetLocalTime(&sysTime);
Linux系統啟動時間檢視
1.uptime命令 輸出:16:11:40 up 59 days, 4:21, 2 users, load average: 0.00, 0.01, 0.00 2.檢視/proc/uptime檔案計算系統啟動時間 cat /proc/uptime 輸出: 5113396.94 575949.85
linux檢視系統啟動時間
1、uptime命令 [email protected]:~$ uptime 17:24:00 up 9:14, 1 user, load average: 0.89, 0.74, 1.00 [email protected]-computer:~$ 2、檢視/
c++獲取系統時間精確到秒
#include "time.h" #include "stdio.h" #include "stdlib.h" #include <iostream> using namespace std; int main() {time_t now;struct tm *timenow;time(&