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 / 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 |
Is C++ case sensitive a) False b) Depends on implementation c) True
What is the use of ::(scope resolution operator)?
Explain abstraction.
How the programmer of a class should decide whether to declare member function or a friend function?
Is java a c++?
What is this weird colon-member (" : ") syntax in the constructor?
What is a concrete class?
What is the difference between new() and malloc()?
What is the Diffrence between a "assignment operator" and a "copy constructor"?
What is #include c++?
Which one between if-else and switch is more efficient?
Define anonymous class.