精华内容
下载资源
问答
  • 今天需要在应用程序获取系统的启动时间,百度了一下,通过sysinfo中的uptime可以计算出系统的启动时间。2、sysinfo结构sysinfo结构保持了系统启动后的信息,主要包括启动到现在的时间,可用内存空...

    1、前言

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

    2、sysinfo结构

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

    struct sysinfo {

    long uptime; /* Seconds since boot */

    unsigned long loads[]; /* 1, 5, and 15 minute load averages */

    unsigned long totalram; /* Total usable main memory size */

    unsigned long freeram; /* Available memory size */

    unsigned long sharedram; /* Amount of shared memory */

    unsigned long bufferram; /* Memory used by buffers */

    unsigned long totalswap; /* Total swap space size */

    unsigned long freeswap; /* swap space still available */

    unsigned short procs; /* Number of current processes */

    char _f[]; /* Pads structure to 64 bytes */

    };

    3、获取系统启动时间

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

    #include

    #include

    #include

    #include

    static int print_system_boot_time()

    {

    struct sysinfo info;

    time_t cur_time = ;

    time_t boot_time = ;

    struct tm *ptm = NULL;

    if (sysinfo(&info)) {

    fprintf(stderr, "Failed to get sysinfo, errno:%u, reason:%s\n",

    errno, strerror(errno));

    return -;

    }

    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:%d\n", ptm->tm_year + ,

    ptm->tm_mon + , ptm->tm_mday, ptm->tm_hour, ptm->tm_min, ptm->tm_sec);

    return ;

    }

    int main()

    {

    if (print_system_boot_time() != ) {

    return -;

    }

    return ;

    }

    测试结果如下所:

    fbbe605a1c299bf77590337f87eb3e7f.png

    linux --> 获取系统启动时间

    获取系统启动时间 一.前言 时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各部相同.linux内核里面用一个名为jiffes的常量来计算时间戳.应用层有time.getdaytim ...

    [Linux] 查看系统启动时间

    查找系统最后启动时间 1. 使用 who 命令 who -b 输出: system boot 2015-10-14 00:51 2. 使用 last 命令 last reboot | head -1 ...

    linux 获取系统屏幕分辨率

    在Windows下可以使用GetSystemMetrics(SM_CXSCREEN);GetSystemMetrics(SM_CYSCREEN) 获取. 在Linux下可以使用XDisplayWi ...

    linux查看系统启动时间

    1.uptime命令 felix@felix-computer:~$ uptime :: up :, user, load average: 0.89, 0.74, 1.00 felix@felix- ...

    Linux获取系统当前时间(精确到毫秒)

    #include #include #include void sysLocalTime() { t ...

    Linux下如何查看系统启动时间和运行时间

    1.uptime命令输出:16:11:40 up 59 days, 4:21, 2 users, load average: 0.00, 0.01, 0.002.查看/proc/uptime文件计算系 ...

    Linux下如何查看系统启动时间和运行时间以及安装时间

    1.uptime命令输出:16:11:40 up 59 days, 4:21, 2 users, load average: 0.00, 0.01, 0.00 2.查看/proc/uptime文件计算 ...

    Linux sysinfo获取系统相关信息

    Linux中,可以用sysinfo来获取系统相关信息. #include #include #include

    django 获取系统当前时间 和linux 系统当前时间不一致 问题处理。

    问题场景: 在django admin models 实体对象添加一个属性最后修改时间,用户在添加.修改是系统自动修改操作时间. UpdateTime自动获取系统时间.并且自动修改. 代码设置如下. ...

    随机推荐

    VOC2007检测任务的评估标准

    VOC2007数据集使用mAP值作为检测算法检测结果的性能评估得分.mAP意思是mean Average Precision,Precision是指精度,Average Precision是指11个等 ...

    发送有序广播Ordered Broadcast

    import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.vi ...

    Extjs combox的详解

    Extjs combox的详解 写了哈extjs当中的combox,第一次写,照着网上的例子抄.在上次的例子中,是实现了,可是有一个重大的错误.也就是自己根本没有理解combox从远程服务器获取数据, ...

    Mysql 8个小时连接断开问题解析

    wait_timeout — 指的是mysql在关闭一个非交互的连接之前所要等待的秒数,其取值范围为1-2147483(Windows),1-31536000(linux),默认值28800. int ...

    Queue 消息的发送与接收(PTP 消息传递模型)

    上篇博客写到了JMS两种消息模型(P2P.pub/sub).本篇博客通过一个实例来进一步了解P2P模型. Queue消息的发送与接收--PTP消息传递模型,样例: Q ...

    thinkjs—控制器方法名不能大写

    async updateInfoAction(){ ... } 上面的接口如果通过ajax访问,就会报404的错误.原因似乎在于访问updateInfo时,会自动转化成小写,而小写的updateinf ...

    Nginx 优先选择连接最少的上游服务器

    详见陶辉87课 upstream test { server ; server ; least_conn ; zone backends 64k; }

    RenderTree渲染树

    RenderTree渲染树对类中的静态成员有很重要的关系,这个和多态是有很重要的关系,举个简单的例子,在游戏中,马里奥需要渲染,蘑菇也需要渲染,怪兽也需要渲染,其是串在一个树上的,但是不同的类型怎么将 ...

    [BZOJ2863]愤怒的元首

    Description: Pty生活在一个奇葩的国家,这个国家有n个城市,编号为1~n. ​ 每个城市到达其他城市的路径都是有向的. ​ 不存在两个城市可以互相到达. 这个国家的元首现在很愤怒,他大喊 ...

    STL中经常使用数据结构

    STL中经常使用的数据结构: [1]  stack.queue默认的底层实现为deque结构. [2]  deque:用map管理多个size大小的连续内存块,方便头尾插入. [3]  vector: ...

    展开全文
  • 今天需要在应用程序获取系统的启动时间,通过sysinfo中的uptime可以计算出系统的启动时间。2、sysinfo结构sysinfo结构保持了系统启动后的信息,主要包括启动到现在的时间,可用内存空间、共享内存...

    1、前言

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

    2、sysinfo结构

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

    struct sysinfo {

    long uptime;             /* Seconds since boot */

    unsigned long loads[3];  /* 1, 5, and 15 minute load averages */

    unsigned long totalram;  /* Total usable main memory size */

    unsigned long freeram;   /* Available memory size */

    unsigned long sharedram; /* Amount of shared memory */

    unsigned long bufferram; /* Memory used by buffers */

    unsigned long totalswap; /* Total swap space size */

    unsigned long freeswap;  /* swap space still available */

    unsigned short procs;    /* Number of current processes */

    char _f[22];             /* Pads structure to 64 bytes */

    3、获取系统启动时间

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

    #include

    #include

    #include

    #include

    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 = gmtime(&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;

    }

    测试结果如下所:

    5bcad5e1dba99da56f30d53760dfcc8a.png

    展开全文
  • #include#include#includevoidsysLocalTime(void){time_ttimesec;structtm*t;time(×ec);t=localtime(×ec);printf("%d-%d-%d%d:%d:%d\n",1900+t->tm_year,1+t->tm_mon,t->...

    #include 

    #include 

    #include 

    void sysLocalTime(void)

    {

    time_t             timesec;

    struct tm         *t;

    time(×ec);

    t = localtime(×ec);

    printf("%d-%d-%d %d:%d:%d\n", 1900+t->tm_year, 1+t->tm_mon, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec);

    }

    void sysUsecTime(void)

    {

    struct timeval    tv;

    struct timezone tz;

    struct tm         *t;

    gettimeofday(&tv, &tz);

    printf("tv_sec:%ld\n",tv.tv_sec);

    printf("tv_usec:%ld\n",tv.tv_usec);

    printf("tz_minuteswest:%d\n",tz.tz_minuteswest);

    printf("tz_dsttime:%d\n",tz.tz_dsttime);

    t = localtime(&tv.tv_sec);

    printf("time_now:%d-%d-%d %d:%d:%d.%ld\n", 1900+t->tm_year, 1+t->tm_mon, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec, tv.tv_usec);

    }

    int main(void)

    {

    sysLocalTime();

    sysUsecTime();

    return 0;

    }

    展开全文
  • linux查看进程启动时间及运行多长时间。ps -eo lstart 启动时间ps -eo etime 运行多长时间.ps -eo pid,lstart,etime | grep 5176用linux ps查询进程的开始时间ps命令常用用法(方便查看系统进程)1)ps a 显示现行终端...

    linux查看进程启动时间及运行多长时间。

    ps -eo lstart 启动时间

    ps -eo etime 运行多长时间.

    ps -eo pid,lstart,etime | grep 5176

    用linux ps查询进程的开始时间

    ps命令常用用法(方便查看系统进程)

    1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。

    2)ps -A 显示所有进程。

    3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。

    4)ps -e 此参数的效果和指定"A"参数相同。

    5)ps e 列出程序时,显示每个程序所使用的环境变量。

    6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。

    7)ps -H 显示树状结构,表示程序间的相互关系。

    8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。

    9)ps s 采用程序信号的格式显示程序状况。 www.2cto.com

    10)ps S 列出程序时,包括已中断的子程序资料。

    11)ps -t  指定终端机编号,并列出属于该终端机的程序的状况。

    12)ps u  以用户为主的格式来显示程序状况。

    13)ps x  显示所有程序,不以终端机来区分。

    最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。

    常用参数:

    -A 显示所有进程(等价于-e)(utility)

    -a 显示一个终端的所有进程,除了会话引线

    -N 忽略选择。

    -d 显示所有进程,但省略所有的会话引线(utility)

    -x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)

    -p pid 进程使用cpu的时间

    -u uid or username 选择有效的用户id或者是用户名

    -g gid or groupname 显示组的所有进程。

    U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)

    -f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.

    -l 长格式(有F,wchan,C 等字段)

    -j 作业格式 www.2cto.com

    -o 用户自定义格式。

    v 以虚拟存储器格式显示

    s 以信号格式显示

    -m 显示所有的线程

    -H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)

    e 命令之后显示环境(如:ps -d e; ps -a e)(utility)

    h 不显示第一行

    ps -eo lstart 启动时间

    ps -eo etime 运行多长时间.

    ps -eo pid,lstart,etime|grep pid

    例:ps -eo pid,lstart,etime|grep 4559

    你需要使用 ps 命令来查看关于一组正在运行的进程的信息。ps 命令提供了如下的两种格式化选项。

    etime 显示了自从该进程启动以来,经历过的时间,格式为 [[DD-]hh:]mm:ss。

    etimes 显示了自该进程启动以来,经历过的时间,以秒的形式。

    ps -eo pid,lstart,etime,cmd | grep 'php'

    打印:

    321 Mon Apr 22 08:10:01 2019 06:54:18 /usr/local/php7.3/bin/php -f /www/php7.3/html/wms/moudle/cron/service/cron/auto_task_cli.mdl.php act=suning_item_sync sd_id=1082 cmd_suffix=1

    485 Mon Apr 22 13:44:02 2019 01:20:17 /usr/local/php7.3/bin/php -f /www/php7.3/html/wms/moudle/cron/service/cron/auto_task_cli.mdl.php act=update_remarks sd_id=2160 cmd_suffix=1

    展开全文
  • 获取进程执行时间一、时间概念在linux下进行编程时,可能会涉及度量进程的执行时间linux下进程的时间值分三种:时钟时间(real time):指进程从开始执行到结束,实际执行的时间。用户CPU时间(user CPU time):指...
  • linux查看系统运行时间及启动时间 一、查看当前系统运行时间 方法一: [root@host-39-108-217-12 ~]# uptime 09:46:42 up 9 days, 23:40, 1 user, load average: 0.21, 0.25, 0.15 方法二: [root@host-39-108-217-...
  • XP的时间总是不对,该如用internet时间服务器让时间同步呢?下面我将详细介绍操作方法,记得投票哦!方法/步骤1使用浏览器打开百度在搜索框中搜索“ntp服务器地址”然后找到一个有internet时间服务器的网页,或者有该...
  • 而且在有的应用场合,对启动时间具有严格的时间要求,尤其在工业或者医疗器械应用领域。此时如何加快Linux的启动,将成为一个挑战,对于大多数应用开发人员而言,由于Linux系统的复杂性,对于如何提高启动速度,往往...
  • 目录前言测试代码Win测试Linux测试总结前言 有时候需要判断系统是否有修改过时间,最简单的方法就是获取当前...已经有接口可以获取系统运行秒数,那么可以用当前时间减去运行秒数,得到系统启动时间,如果下一次计...
  • linux获取java环境变量的值[2021-02-11 00:17:01]简介:服务器这篇文章主要为大家展示了linux环境下怎么配置环境变量,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带建站服务器这篇...
  • 事实上在Linux中有两个时钟系统,分别是系统时间和硬件时间UTC是协调世界时(Universal Time Coordinated)英文缩写,它比北京时间早8个小时.二)datedate可以打印/设定系统时间.打印系统时间时,date命令会通过调用clock_...
  • 因为ARM板断电重启问题,为保证能获取到准确的实时时间,所以需要实现自动从网络上获取时间,这就需要用到NTP。NTP是网络时间协议(Network Time Protocol)的简称,它是用来同步网络中各个计算机设备的时间的协议。...
  • Linux操作系统速度非常快,但是...获取root访问权限和备份Grub配置文件对Grub配置文件进行更改(无论多小)都很危险,任何错误都可能严重破坏你的系统并可能搞砸它,因此,在向你展示如何加快Linux上的启动时间之前...
  • 昨天一同事问我在java程序中通过newDate()获取时间,比当前时间少了16个小时。一开始以为是linux服务器的系统时间不对,但查看linux服务器系统的时间和时区都没有问题。通过百度 、google查阅资料,找到解决方法。...
  • 对于linux操作系统的时间,在没有互联网或者时间同步服务器的话,就算是配置了自动与网络时间同步也是没有作用的,这个时候我们就需要手动的去修改系统时间,这里我们介绍两种方法,绝对能够。一、面板修改绝大多数...
  • 就顺手记录一下 Linux 下查看硬盘通电时间操作吧,其实也比较简单。查看硬盘通电时间Ubuntu / Debian:apt install smartmontoolssmartctl -A /dev/sdaCentOS:yum install smartmontoolssmartctl -A /dev/sda其中...
  • 这个时间是有运行起来的软件维护的,其实就是内存中的一个全局变量,LINUX默认启动给这个全局变量赋值就是19700101这样的数值。2、RTC芯片(很多是嵌入式处理器内置RTC模块,那么就是CPU内部寄存器)内部的寄存器维护...
  • windows和linux双系统一般先安装Windows,分两个主分区,把Linux安装在...也就是说,主引导记录在C盘(win主分区),重新安装win7的时候,主引导记录自然就丢失掉了,你这个操作可以说很鲁莽,当初双系统是怎么做的呢...
  • 有时候需要查看Linux系统运行了多久时间,此时需要知道上次开机启动时间; 有时候由于断电或供电故障突然停机,需要查看Linux开机时间/重启时间; 下面总结一些查看Linux开机关机时间的方法(非常全面)1: who 命令...
  • 问题:在工作中遇到一个需要调整容器内应用时间的需求,要求不同的容器可以使用不同的时间,但是众所周知,在容器内部,正常权限是无法采用date命令去修改时间的,如果执行date -s去修改的话,会出现如下报错:同时...
  • 在进行Linux系统操作的时候,因为测试程序性能的需要,必须将获得的时间精确到ns级,下面与大家分享下使用函数实现Linux用户空间ns级时间。一、引言我们在测试程序的性能的时候往往需要获得ns级的精确时间去衡量一个...
  • 最近在学习内核获取时间api函数,如下 内核态常用获取纳秒的函数。u64是unsigned long long类型的数据类型,打印用%llu。 u64 ktime_get_ns(void) u64 ktime_get_real_ns(void) u64 ktime_get_raw_ns(void) ...
  • 由于测试的需要,我帮别人调整测试服务器时间。...D04F87F9ED029F69!...sa=931544442第一部分:设置时间我们一般使用“date -s”命令来修改系统时间 (这里说的是系统时间,是linux操作系统维护的。)。比...
  • HUX布斯1,Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu,在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。其实应该通过Physical Processor ID来区分单核和双核。而Physical...
  • java获取Linux时区

    2021-03-07 00:50:19
    在Tomca 启动的sh中,默认的设置是 -Duser.timezone=GMT,如果在程序中使用 Date = new Date()则对应的是零时区的时间。如果操作系统的时区也是零时区就没什么。如果不是就有时间偏差。以下可以帮助纠正import java....
  • 工作中有一个linux下的服务需要启动,但是机器总是断电,导致需要反复启动,找了一下开机自启动的方法,解决了这个问题。Linux设置开机自启动非常简单,只要找到rc.local文件,将你需要自启动的文件加进去即可。我的...
  • 用过了一段时间的Fedora Linux,感觉不错。但是在命令行界面下操作的时候,就总是感觉少点儿什么!没错,就是看时间和日期比较麻烦啦,要用命令去看,有时候就是懒得动了嘛……今天在学习bash变量的过程中,正好无意...
  • 创建公钥秘钥实现无密码登录后即可获取到文件内容了!!A:xxx.xxx.6.xxxB:xxx.xxx.xxx.x一、创建A机器ssh-keygen-trsa二、拷贝——将生成的公钥复制到B机器scp /root/.ssh/id_rsa.pub root@xxx.xxx.xxx.x:/root/....
  • 写作动机双系统是不少人喜欢的方式,但安装双系统之后一般会出现两个系统时间不一样的问题,刚开始用双系统的时候也没怎么在意,就是装上后在网上找找相关解决方法,复制粘贴代码完事儿。但是次数多了就有点烦了,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 211,905
精华内容 84,762
关键字:

linux获取操作启动时间

linux 订阅