Question: In the code below, assume that (i) all fork and exe.cvp statements execute successfully, (ii) The program arguments of exe.cvp do not spawn more processes
In the code below, assume that (i) all fork and exe.cvp statements execute successfully, (ii) The program arguments of exe.cvp do not spawn more processes or print out more characters, and (iii) all pid variables (pid,?.,pid6) are initialized to 0.
(a) How many processes will be created by the execution of this code? Show in a ?process creation diagram? (like we did I the class) the order in which each process is created, and the values of pid 1 to pid6 for each process.
(b) What will be the output of each process?

void main() ( pidl - fork). if (pidl=0) { } else{ } printf("B"), pid3 - fork()); if (pid4 = 0) { } else { pid2-fork(): printf("A"); } else{ } execup(...) printf("C"); execvp(...); if (pid1=0){ } if (pidz>0){ pid6-fork(): printf("E"); pids-fork(); execup(...); printf("D"); printf("F") execvp(...); printf("G");
Step by Step Solution
3.42 Rating (152 Votes )
There are 3 Steps involved in it
To solve this problem lets walk through the code stepbystep to analyze the process creation and outp... View full answer
Get step-by-step solutions from verified subject matter experts
Document Format (2 attachments)
6093252982eae_23455.pdf
180 KBs PDF File
6093252982eae_23455.docx
120 KBs Word File
