进程时间-鸿鹄论坛_华为认证h35-211-hcnp-access network题库
8.15进程时间在1.10节中说明了墙上时钟时间、用户CPU时间和系统CPU时间。任一进程都可调用times函数以获得它自己及终止子进程的上述值。
#include <sys times.h="">
clock_t times(struct tms *buf);
sys>
返回:若成功则为经过的墙上时钟时间(单位:滴答),若出错则为-1。此函数填写由buf指向的tms结构,该结构定义如下:
注意,此结构没有包含墙上时钟时间。作为代替,times函数返回墙上时钟时间作为函数值。此值是相对于过去的某一时刻度量的,所以不能用其绝对值而必须使用其相对值。例如,调用times,保存其返回值。在以后某个时间再次调用times,从新返回的值中减去以前返回的值,此差值就是墙上时钟时间。(一个长期运行的进程可能其墙上时钟时间会溢出,当然这种可能性极小。)
结构中两个针对子进程的字段包含了此进程已等待到的各子进程的值。所有由此函数返回的clock_t值都用_SC_CLK_TCK(由sysconf函数返回的每秒时钟滴答数,见2.5.4节)变换成秒数。伯克利系统,包括4.3BSD继承了V7的times版本,它不返回墙上时钟时间。这一老版本如执行成功则返回0,如失败则返回-1。4.3+BSD支持POSIX.1版本。
4.3+BSD和SVR4(在BSD兼容库中)提供了getrusage(2)函数,此函数返回CPU时间,以及指示资源使用情况的另外14个值。实例程序8-18将每个命令行参数作为shell命令串执行,对每个命令计时,并打印从tms结构取176 UNIX环境高级编程下载。
相关链接和图片:
用户评论