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 |
What is a hashmap c++?
Write a code/algo to find the frequency of each element in an array?
What is the real purpose of class – to export data?
When are exception objects created?
What is the use of data hiding?
How do you show the declaration of a virtual constructor?
Why do we use structure in c++?
What is virtual destructor ans explain its use?
Do we have private destructors?
Which command properly allocates memory a) char *a=new char[20]; b) char a=new char[20]; c) char a=new char(20.0);
What is pointer with example?
How long does this loop run: for(int x=0; x=3; x++) a) Never b) Three times c) Forever
17 Answers Datavance, Quark, VEL, Wipro,