您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Linux下如何查看系统启动时间和运行时间
Linux下如何查看系统启动时间和运行时间1.uptime命令输出:16:11:40up59days,4:21,2users,loadaverage:0.00,0.01,0.002.查看/proc/uptime文件计算系统启动时间cat/proc/uptime输出:5113396.94575949.85第一数字即是系统已运行的时间5113396.94秒,运用系统工具date即可算出系统启动时间代码:全选date-d$(awk-F.'{print$1}'/proc/uptime)secondago+%Y-%m-%d%H:%M:%S输出:2008-11-0911:50:313.查看/proc/uptime文件计算系统运行时间代码:全选cat/proc/uptime|awk-F.'{run_days=$1/86400;run_hour=($1%86400)/3600;run_minute=($1%3600)/60;run_second=$1%60;printf(系统已运行:%d天%d时%d分%d秒,run_days,run_hour,run_minute,run_second)}'输出:系统已运行:59天4时13分9秒1:who命令查看who-b查看最后一次系统启动的时间。who-r查看当前系统运行时间[root@DB-Server~]#who-bsystembootMay1109:272:lastreboot如下所示lastreboot可以看到Linux系统历史启动的时间。重启一下操作系统后,然后[root@DB-Server~]#lastrebootrebootsystemboot2.6.9-42.ELsmpThuMay2915:25(00:07)rebootsystemboot2.6.9-42.ELsmpSunMay1109:27(18+05:55)wtmpbeginsMonMay516:18:572014如果只需要查看最后一次Linux系统启动的时间[root@DB-Server~]#lastreboot|head-1rebootsystemboot2.6.9-42.ELsmpThuMay2915:25(00:08)3:TOP命令查看如下截图所示,up后表示系统到目前运行了多久时间。反过来推算系统重启时间4:w命令查看4:w命令查看如下截图所示,up后表示系统到目前运行了多久时间。反过来推算系统重启时间5:uptime命令查看6:查看/proc/uptime[root@DB-Server~]#cat/proc/uptime1415.591401.42[root@DB-Server~]#date-d`cut-f1-d./proc/uptime`secondsagoThuMay2915:24:57CST2014[root@DB-Server~]#date-d$(awk-F.'{print$1}'/proc/uptime)secondago+%Y-%m-%d%H:%M:%S2014-05-2915:24:571、前言时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各部相同。linux内核里面用一个名为jiffes的常量来计算时间戳。应用层有time、getdaytime等函数。今天需要在应用程序获取系统的启动时间,百度了一下,通过sysinfo中的uptime可以计算出系统的启动时间。2、sysinfo结构sysinfo结构保持了系统启动后的信息,主要包括启动到现在的时间,可用内存空间、共享内存空间、进程的数目等。mansysinfo得到结果如下所示:1structsysinfo{2longuptime;/*Secondssinceboot*/3unsignedlongloads[3];/*1,5,and15minuteloadaverages*/4unsignedlongtotalram;/*Totalusablemainmemorysize*/5unsignedlongfreeram;/*Availablememorysize*/6unsignedlongsharedram;/*Amountofsharedmemory*/7unsignedlongbufferram;/*Memoryusedbybuffers*/8unsignedlongtotalswap;/*Totalswapspacesize*/9unsignedlongfreeswap;/*swapspacestillavailable*/10unsignedshortprocs;/*Numberofcurrentprocesses*/11char_f[22];/*Padsstructureto64bytes*/12};3、获取系统启动时间通过sysinfo获取系统启动到现在的秒数,用当前时间减去这个秒数即系统的启动时间。程序如下所示:1#includestdio.h2#includesys/sysinfo.h3#includetime.h4#includeerrno.h56staticintprint_system_boot_time()7{8structsysinfoinfo;9time_tcur_time=0;10time_tboot_time=0;11structtm*ptm=NULL;12if(sysinfo(&info)){13fprintf(stderr,Failedtogetsysinfo,errno:%u,reason:%s\n,14errno,strerror(errno));15return-1;16}17time(&cur_time);18if(cur_timeinfo.uptime){19boot_time=cur_time-info.uptime;20}21else{22boot_time=info.uptime-cur_time;23}24ptm=gmtime(&boot_time);25printf(Systemboottime:%d-%-d-%d%d:%d:%d\n,ptm-tm_year+1900,26ptm-tm_mon+1,ptm-tm_mday,ptm-tm_hour,ptm-tm_min,ptm-tm_sec);27return0;28}2930intmain()31{32if(print_system_boot_time()!=0){33return-1;34}35return0;36}测试结果如下所:
本文标题:Linux下如何查看系统启动时间和运行时间
链接地址:https://www.777doc.com/doc-2884716 .html