2015-09-24
uptime指令的简单实现
报告当前时间;系统已运行多久;当前登录的用户数量;最近1分钟,5分钟和15分钟的平均负载。
1.当前系统时间
通过time(NULL)获取
2.系统运行的时间,记录在/proc/uptime文件里面
第1数值就是系统启动到现在的时间,第2数值是系统空闲的时间
3.当前登录的用户数量,记录在utmp日志文件里
通过读取utmp文件,统计ut_type==USER_PROCESS的记录数量,即当前的用户数量
4.最近1分钟,5分钟,15分钟的平均负载,记录在/proc/loadavg文件里面
前3个数值,即最近1分钟,5分钟,15分钟的平均负载;
第4个数值是正运行的进程数与总进程数的比例
第5个数值是最近运行进程的进程号
5.根据以上知道的情况,编写uptime运行结果如下:
6.源代码