【文件属性】:
文件名称:进程时间-数据流图到模块结构图的直接转换方法
文件大小:5.82MB
文件格式:PDF
更新时间:2024-07-12 01:23:41
APUE UNIX
8.15 进程时间
在1 . 1 0节中说明了墙上时钟时间、用户C P U时间和系统C P U时间。任一进程都可调用 t i m e s
函数以获得它自己及终止子进程的上述值。
#include
clock_t times(struct tms *b u f) ) ;
返回:若成功则为经过的墙上时钟时间(单位:滴答),若出错则为-1
此函数填写由b u f指向的t m s结构,该结构定义如下:
注意,此结构没有包含墙上时钟时间。作为代替,t i m e s函数返回墙上时钟时间作为函数值。此值
是相对于过去的某一时刻度量的,所以不能用其绝对值而必须使用其相对值。例如,调用t i m e s,
保存其返回值。在以后某个时间再次调用 t i m e s,从新返回的值中减去以前返回的值,此差值就
是墙上时钟时间。(一个长期运行的进程可能其墙上时钟时间会溢出,当然这种可能性极小。)
结构中两个针对子进程的字段包含了此进程已等待到的各子进程的值。
所有由此函数返回的c l o c k _ t值都用_S C_C L K_T C K (由s y s c o n f函数返回的每秒时钟滴答数,
见2 . 5 . 4节)变换成秒数。
伯克利系统,包括 4 . 3 B S D继承了V 7的t i m e s版本,它不返回墙上时钟时间。
这一老版本如执行成功则返回0,如失败则返回-1。4 . 3 + B S D支持P O S I X . 1版本。
4 . 3 + B S D和S V R 4 (在B S D兼容库中 )提供了g e t r u s a g e ( 2 )函数,此函数返回C P U
时间,以及指示资源使用情况的另外1 4个值。
实例
程序8 - 1 8将每个命令行参数作为 s h e l l命令串执行,对每个命令计时,并打印从 t m s结构取
1 7 6 U N I X环境高级编程