Read the following program carefully and write the output
of the program. Explain each
line of code according to given numbering.

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>

1……………… int main (void)
{
pid_t pid;
2………………………… pid = fork();
3…………………………. if (pid > 0)
{
int i;
4………………………… for (i = 0; i < 5; i++)
{
5………………… …………… printf(" I AM VU : %d\n", i);
6………………… …………… sleep(1);
}
exit(0);
}
7………………… ……… else if (pid == 0) {
int j;
for (j = 0; j < 5; j++)
{
8……………………………… printf(" I have no child: %d\n", j);
sleep(1);
}
_exit(0);
}
else
{
9………………………………fprintf(stderr, "can't fork, error %d\n",
errno);
10……………… … ………… exit (EXIT_FAILURE);
}
}

Answer Posted / saith

1 int main (void) Starts the main function
2 pid = fork ( ); The fork ( ) method will call and store
the integer value in the pid variable. In case of Child “0”
value returned while the parent will store the “process id”
of the child. In case when fork fails it will be
initialized by -1
3 if (pid > 0) This condition will be only true when fork
failed.
4 for (i = 0; i < 5; i++) Limmitations of for loop are
declared and the loop starts

5 printf(" I AM VU : %d\n", i);
Prints I AM VU and the value of I message on screen
6 sleep(1); Process sleeps
7 else if (pid == 0) Now this blok of code executes in
parent process since fork returns the ID to the parent
process from child. which is not 0.
8 printf(" I have no child: %d\n", j);
“I have no child” is printed on the screen
9 fprintf(stderr, "can't fork, error %d\n", errno);
If the given conditions are not true then this error
message is send
10 exit (EXIT_FAILURE); system call will terminate the
process abnormally as it fails.

Is This Answer Correct ?    4 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is namespace & why it is used in c++?

692


Why is polymorphism useful?

671


When to use “const” reference arguments in a function?

682


List the issue that the auto_ptr object handles?

716


Why use of template is better than a base class?

736






What does flush do c++?

660


What is time_t c++?

685


What are the general quetions are in DEna bank manager IT/System interviews?

1649


Is c++ a low level language?

605


Is it possible to provide default values while overloading a binary operator?

871


Search for: what is pair in c++?

712


Mention the ways in which parameterized can be invoked.

625


What is setw manipulator in c++?

700


What can I use instead of namespace std?

742


Is recursion allowed in inline functions?

692