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);
}
}



Read the following program carefully and write the output of the program. Explain each line of c..

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

Post New Answer

More C++ General Interview Questions

What is the difference between #import and #include?

0 Answers  


What is the most common mistake on c++ and oo projects?

0 Answers  


What is the use of :: operator in c++?

0 Answers  


What is the difference between operator new and the new operator?

3 Answers   Amazon, TCS, Wipro,


What is meant by entry controlled loop?

0 Answers   Agilent, ZS Associates,


What is a far pointer? where we use it?

0 Answers  


Difference between shift left and shift right?

1 Answers   Symphony,


What is the first name of c++?

0 Answers  


Does improper inheritance have a potential to wreck a project?

0 Answers  


There are 100 students in a class. The management keep information in two tables. Those two tables are given like Roll no Name Age 001 ABC 15 002 XYZ 14 and Roll No Subject Marks 001 Math 75 001 Physics 55 002 Math 68 001 Hindi 69 They want the information like this Roll No Name Hindi Physics Math Total 001 ABC 69 55 75 199 002 XYZ 68 74 84 226 And Roll No Suject Highest 001 Math 98 007 Physics 84 021 Hindi 74 All 275 All information is kept in structure in main memory. You have to find last two tables.

0 Answers  


You have two pairs: new() and delete() and another pair : alloc() and free(). Explain differences between eg. New() and malloc()

0 Answers  


What is function overriding?

1 Answers  


Categories