fork-getrusage


 
Thread Tools Search this Thread
Top Forums Programming fork-getrusage
# 1  
Old 02-26-2009
fork-getrusage

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 above program creates 100 processes concurrently! I want to fork one process after another(is finished). What I want to do is, get the utime of child process each time. However, i find out that stime of one process is influenced by the utime of previous process!
Output example:
pid utime
8359 0.172010
8360 0.176011
8406 0.176011
8407 0.176011
8408 0.176011
8409 0.184011
8410 0.184011
Why this happens?

Thanx in advance
# 2  
Old 02-26-2009
RUSAGE_CHILDREN means ALL terminated and waited-for children. You will have to have each child process call getrusage with RUSAGE_SELF, write data to a file. Or bettter to a db, so you do not have concurrency problems.
# 3  
Old 02-26-2009
First I would like to thanx you!!!
The only place i can put getrusage in child process is before execl command, because the command after execl are executed only if execl crushes, Am i right?Do i get the expected time by this way?
Thanx one more time!SmilieSmilie
# 4  
Old 02-26-2009
Error execl-getrusage

PLZ help! I cannot put getrusage after execl, because the commands after execl executed only if execl crashes
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

fork()

I'm trying to run a simple test on how to use fork(), i'm able to execute the child process first then the parent, but how can I execute parent then child..? Thanks! (1 Reply)
Discussion started by: l flipboi l
1 Replies

2. Programming

Fork()

does fork() spawn only the parent process, what if fork() is looped, does it spawn the parent and the child? (4 Replies)
Discussion started by: Peevish
4 Replies

3. Programming

Fork and \n

Hi, I wrote a simple program for understanding the fork command. The code is as below int main(void) { fork(); printf("hi 1 \n"); fork(); printf("hi 2 \n"); fork(); printf("hi 3 \n"); } I am getting a variation in the number of times the printf is called if i remove the \n from each... (2 Replies)
Discussion started by: xyz123456
2 Replies

4. UNIX for Advanced & Expert Users

Fork and \n

Hi, I wrote a simple program for understanding the fork command. The code is as below int main(void) { fork(); printf("hi 1 \n"); fork(); printf("hi 2 \n"); fork(); printf("hi 3 \n"); } I am getting a variation in the number of times the printf is called if i remove the \n from each of... (1 Reply)
Discussion started by: xyz123456
1 Replies

5. HP-UX

getrusage()

Hi, Can someone gives me an example for the use of getrusage() under HP-UX and AIX. I am using this function to get system statistics. Thank you (2 Replies)
Discussion started by: limame
2 Replies

6. Programming

fork() help

Hi everybody, I wanna write a code to understand how fork works. my target -------------- -Parent creates a file(called temp) and writes into this file "1".Then it closes the file. -Then parent creates a child and wait until execution of this child ends. -Then child opens the same... (3 Replies)
Discussion started by: alexicopax
3 Replies

7. Programming

Fork ()

hi all About this code for (i = 1; i < n; i++) if ((childpid = fork()) <= 0) break; I really can't understand the output . and the way fork () return the value . how about the process Id ,the child process Id and the parent ID in this case so please answer me soon (5 Replies)
Discussion started by: iwbasts
5 Replies

8. Programming

Fork or what?

Hello all. I'm developing a filetransfer application, which is supposed to work sort of like dcc, with multiple transfers etc. Now i wonder what the best way to manage the transfers is. Should i fork() for each new transfer, hogging loads of memory or use pthreads? Maybe I can use select to see... (0 Replies)
Discussion started by: crippe
0 Replies

9. Programming

fork()

#include <stdio.h> #include <string.h> #include <sys/types.h> #define MAX_COUNT 200 #define BUF_SIZE 100 void main(void) { pid_t pid; int i; char buf; fork(); pid = getpid(); for (i = 1; i <= MAX_COUNT; i++) { sprintf(buf,... (2 Replies)
Discussion started by: MKSRaja
2 Replies

10. UNIX for Dummies Questions & Answers

Fork

What is a fork? Why would one create a fork? What are the advantages and disadvantages of using a fork? Please advise. Thank You. Deepali (5 Replies)
Discussion started by: Deepali
5 Replies
Login or Register to Ask a Question