06-21-2007
Thank you
I tested this code but I can't understand why the user time and the system time are the same before and after execution.
-------------before
/* user time used */ 0 10000
/* system time used */ 0 10000
/* integral shared memory size */ 0
/* integral unshared data */ 0
/* integral unshared stack */ 0
/* page reclaims */ 149
/* page faults */ 1
/* swaps */ 0
/* block input operations */ 0
/* block output operations */ 0
/* # of characters read/written */ 1676
/* messages sent */ 0
/* messages received */ 0
/* signals received */ 0
/* voluntary context switches */ 1
/* involuntary */ 14
-------------after we run foo1
/* user time used */ 0 10000
/* system time used */ 0 10000
/* integral shared memory size */ 0
/* integral unshared data */ 0
/* integral unshared stack */ 0
/* page reclaims */ 149
/* page faults */ 2
/* swaps */ 0
/* block input operations */ 0
/* block output operations */ 0
/* # of characters read/written */ 2500
/* messages sent */ 0
/* messages received */ 0
/* signals received */ 0
/* voluntary context switches */ 2
/* involuntary */ 14
Normally I must calculate the difference between the two statistics to obtain statistics of my program execution. So I will obtain 0 for the user time and system time ???
We Also Found This Discussion For You
1. Programming
Hello everybody!
I wrote the following code:
...
int main()
{
pid_t pid;
for (int i=0;i<100;i++)
{
pid=fork();
if(pid==0)
{execl("md5sum","myprog",NULL);exit(1)}
else if(pid>0)
{ waitpid(pid,&status,0);getrusage(RUSAGE_CHILDREN,&usage);}
The... (3 Replies)
Discussion started by: nicos
3 Replies
LEARN ABOUT OPENSOLARIS
times
times(3UCB) SunOS/BSD Compatibility Library Functions times(3UCB)
NAME
times - get process times
SYNOPSIS
/usr/ucb/cc [ flag ... ] file ...
#include <sys/param.h>
#include <sys/types.h>
#include <sys/times.h>
int times(tmsp)
register struct tms *tmsp;
DESCRIPTION
The times() function returns time-accounting information for the current process and for the terminated child processes of the current
process. All times are reported in clock ticks. The number of clock ticks per second is defined by the variable CLK_TCK, found in the
header <limits.h>.
A structure with the following members is returned by times():
time_t tms_utime; /* user time */
time_t tms_stime; /* system time */
time_t tms_cutime; /* user time, children */
time_t tms_cstime; /* system time, children */
The children's times are the sum of the children's process times and their children's times.
RETURN VALUES
Upon successful completion, times() returns 0. Otherwise, it returns -1.
SEE ALSO
cc(1B), time(1), time(2), getrusage(3C), wait(3C)
NOTES
Use of these interfaces should be restricted to only applications written on BSD platforms. Use of these interfaces with any of the system
libraries or in multi-threaded applications is unsupported.
The times() function has been superseded by getrusage(3C).
SunOS 5.11 30 Oct 2007 times(3UCB)