Question: IV. Consider the following program: 1 int main() 2 3 456789 int count = 1; int pid=0, pid2=0; if ( (pid = fork()) )
IV. Consider the following program: 1 int main() 2 3 456789 int count = 1; int pid=0, pid2=0; if ( (pid = fork()) ) { if (count == 1) { 10 11 12 13 14 15 16 17 18 19 } count=count + 2; printf("%d ", count); if (pid2) { } count++; pid2=fork(); printf("%d ", count); waitpid (pid2, NULL, 0); count count *2; printf("%d" count); Note that on line 4, (pid = fork()) in the same line executes the fork, assigns the return value to pid and uses that return value to evaluate the condition. If the condition is above zero, the if is taken, if it is zero, it is not. a. How many processes are created during the execution of this program? Explain. (2 points) b. List all the possible outputs of the program. Full credit if you get 4 correct outputs, bonus if you get all outputs if there are more than 4. (4 + 1 bonus points)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
