程序時間有牆上時鐘時間、使用者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 若成功...