《unix高階環境程式設計》程序控制 程序時間

2021-06-27 06:04:56 字數 1605 閱讀 5974

程序時間有牆上時鐘時間、使用者cpu時間和系統cpu時間。任一程序都可以呼叫 times 函式以獲得它自己以及終止子程序的上述值。

[cpp]view plain

copy

/* 程序時間 */

/** 返回值:若成功則返回流逝的牆上時鐘時間(單位:時鐘滴答數),若出錯則返回-1;

* 函式原型:

*/#include 

clock_t

times(

struct

tms *buf);  

/** struct tms 結構如下:

*/struct

tms;  

在程序時間結構 

tms中並沒有包含牆上時鐘時間的測量值,

times

函式返回值可作為牆上時鐘時間的測量值,其取值是兩次

times

返回值的差值。由此函式返回的 

clock_t 

值都用_sc_clk_tck

(由 sysconf

函式返回的每秒時鐘滴答數)變換成秒數。

測試程式:

[cpp]view plain

copy

#include 

#include 

#include "apue.h"

static

void

pr_times(

clock_t

, struct

tms *, 

struct

tms *);  

static

void

do_cmd(

char

*);  

void

pr_exit(

intstatus);  

intmain(

intargc, 

char

*argv)  

exit(0);  

}  static

void

do_cmd(

char

* cmd)  

static

void

pr_times(

clock_t

real, 

struct

tms* tmsstart, 

struct

tms* tmsend)  

void

pr_exit(

intstatus)    

輸出結果:

[cpp]view plain

copy

執行:./time 

"date"

輸出結果:  

command: date  

fri nov  7 20:31:13 cst 2014  

real:    0.00  

user:    0.00  

sys:    0.00  

child user:    0.00  

child sys:    0.00  

normal termination, exit status = 0  

unix環境高階程式設計 程序環境與程序控制

a 終止 i.程序終止 1.正常終止 return exit exit 系a exit與 exit 的區別 exit退出時按 atexit 註冊的相反順序呼叫註冊過的函式,對開啟的流呼叫 fclose 將緩衝區的資料寫到檔案上 重新整理緩衝區 exit 沒有 b exit與自然返回 return 的...

《unix高階環境程式設計》程序控制 程序ID

在unix系統中,每個程序都有乙個非負整型表示的唯一程序id。當乙個程序終止時,程序id可以重新被其他程序使用,為了防止誤判,unix系統實現延遲重用演算法,即新建的程序id不同於最近終止程序所使用的id。程序id為0的是排程程序,也稱為交換程序,是核心的一部分,不執行磁碟上的程式,因此也稱為系統程...

Unix環境高階程式設計 程序控制 二

一 函式wait 和waitpid 今天我們繼續通過昨天那個死爹死兒子的故事來講 便於記憶 現在看看 wait 和waitpid 函式。include pid t wait int statloc pid t waitpid pid t pid int statloc int options 若成功...