返回顶部
首页 > 资讯 > 操作系统 >linux获取系统启动时间示例详解
  • 670
分享到

linux获取系统启动时间示例详解

示例详解系统启动 2022-06-04 21:06:28 670人浏览 八月长安
摘要

1、前言 时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各部相同。linux内核里面用一个名为jiffes的常量来计算时间戳。应用层有time、getdaytime等函数。今天需要在应用

1、前言

时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各部相同。linux内核里面用一个名为jiffes的常量来计算时间戳。应用层有time、getdaytime等函数。今天需要在应用程序获取系统的启动时间,百度了一下,通过sysinfo中的uptime可以计算出系统的启动时间。

2、sysinfo结构

sysinfo结构保持了系统启动后的信息,主要包括启动到现在的时间,可用内存空间、共享内存空间、进程的数目等。man sysinfo得到结果如下所示:


struct sysinfo {
long uptime;
unsigned long loads[3];
unsigned long totalram;
unsigned long freeram;
unsigned long sharedram;
unsigned long bufferram;
unsigned long totalswap;
unsigned long freeswap;
unsigned short procs;
char _f[22];
};

3、获取系统启动时间

通过sysinfo获取系统启动到现在的秒数,用当前时间减去这个秒数即系统的启动时间。程序如下所示:


#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:%sn",
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 = gmtime(&boot_time);
printf("System boot time: %d-%-d-%d %d:%d:%dn", 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;
}

测试结果如下所:

查看图片

--结束END--

本文标题: linux获取系统启动时间示例详解

本文链接: https://lsjlt.com/news/17957.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • linux获取系统启动时间示例详解
    1、前言 时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各部相同。linux内核里面用一个名为jiffes的常量来计算时间戳。应用层有time、getdaytime等函数。今天需要在应用...
    99+
    2022-06-04
    示例 详解 系统启动
  • 怎么获取linux系统启动时间
    本篇内容主要讲解“怎么获取linux系统启动时间”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么获取linux系统启动时间”吧!前言时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式...
    99+
    2023-06-09
  • linux中怎么获取系统启动时间
    本篇文章给大家分享的是有关linux中怎么获取系统启动时间,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。前言时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各...
    99+
    2023-06-09
  • 程序中获取linux系统启动时间方法
    1、前言 时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各部相同。linux内核里面用一个名为jiffes的常量来计算时间戳。应用层有time、getdaytime等函数。今天需要在应用...
    99+
    2022-06-04
    系统启动 时间 程序
  • Linux系统如何获取启动时间和正常运行时间
    小编给大家分享一下Linux系统如何获取启动时间和正常运行时间,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我们在Ubuntu 18.04 LTS系统上运行命令您...
    99+
    2023-06-28
  • Linux时间子系统之时间的表示示例详解
    前言 在linux内核中,为了兼容原有的代码,或者符合某种规范,并且还要满足当前精度日益提高的要求,实现了多种与时间相关但用于不同目的的数据结构: 1)jiffies和jiffies_64 内核用jiffies_64全局...
    99+
    2022-06-04
    linux时间 查看linux时间 linux修改时间
  • Python获取时间的操作示例详解
    目录获得当前时间时间戳获取当前时间获取昨天日期生成日历计算每个月天数计算3天前并转换为指定格式获取时间戳的旧时间获取时间并指定格式pandas 每日一练21读取本地EXCEL数据22...
    99+
    2024-04-02
  • Android获取App冷启动、热启动时间
    启动模拟器或者连接手机,通过adb命令的方式获取App冷启动、热启动时间。 启动App的adb命令: adb shell am start -W packagename/绝对路径下的MainActivity -W:启动完成之后,返回启动耗时...
    99+
    2023-10-26
    android adb 性能优化
  • C/C++实现获取系统时间的示例代码
    目录概述示例易用性封装概述 C 标准库提供了 time() 函数与 localtime() 函数可以获取到当前系统的日历时间,但 time() 函数精度只能到秒级,如果需要更高精度的...
    99+
    2022-12-20
    C++获取系统时间 C++ 系统时间 C++获取时间
  • Linux怎么获取当前系统时间
    这篇文章将为大家详细讲解有关Linux怎么获取当前系统时间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。date指令相关用法示例date 用法: date [OPTION]&hell...
    99+
    2023-06-28
  • Linux系统中时间的获取和使用
    linux系统时间有两种。 (1)日历时间。该值是自协调世界时(UTC)1970年1月1日00:00:00这个特定时间以来所经过的秒数累计值。基本数据类型用time_t保存。最后通过转换才能得到我们平时所看到的24小时...
    99+
    2022-06-04
    linux获取时间 linux获取时间命令 linux获取系统时间命令
  • Android如何获取APP启动时间
    目录1.通过看logcat下的日志2.通过adb命令3.通过写代码获取1.通过看logcat下的日志 2.通过adb命令 3.通过写代码获取 3.1写一个工具类打印系统时间 ...
    99+
    2024-04-02
  • PerformanceObserver自动获取首屏时间实现示例
    目录介绍构造函数提供的方法重点我们看看observer.observe(options);实例实际使用 介绍 PerformanceObserver 可用于获取性能相关的数据,例如首...
    99+
    2024-04-02
  • python获取指定时间差的时间实例详解
    python获取指定时间差的时间实例详解 在分析数据的时间经常需要截取一定范围时间的数据,比如三天之内,两小时前等等时间要求的数据,因此将该部分经常需要用到的功能模块化,方便以后以后用到的时候复用。在此,也...
    99+
    2022-06-04
    时间差 详解 实例
  • Java怎么获取系统时间
    这篇文章主要介绍了Java怎么获取系统时间,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数的数据...
    99+
    2023-06-14
  • java获取当前系统时间
      在Java中,可以使用以下几种方法获取当前系统时间: 方法1:使用java.util.Date类 ```java import java.util.Date; public class Main { public static voi...
    99+
    2023-09-18
    java jvm servlet
  • Java获取当前时间戳案例详解
    获取当前时间戳 //方法 一 System.currentTimeMillis(); //方法 二 Calendar.getInstance().getTimeInMillis(...
    99+
    2024-04-02
  • Android获取系统时间以及网络时间
    项目开发中,很多时候会用到android的时间,罗列一下获取的时间的方式,和大家共同学习进步 一、获取系统时间  1.通过Calendar类来获取系统当前的时间 ...
    99+
    2022-06-06
    系统时间 系统 Android
  • FreeRTOS实时操作系统支持时间片示例详解
    目录什么是时间片时间片实现关键taskSELECT_HIGHEST_PRIORITY_TASK()taskRESET_READY_PRIORITY()什么是时间片 时间片就是同一个优...
    99+
    2024-04-02
  • Java中如何获取系统时间
    Java中获取系统时间的方法:1、通过Date类来获取当前时间;2、通过System类中的currentTimeMillis方法来获取当前时间;3、通过Calendar类来获取当前时间;具体操作示例:通过Date类来获取当前时间。Date ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作