EBK COMPUTER SYSTEMS
EBK COMPUTER SYSTEMS
3rd Edition
ISBN: 8220101459107
Author: O'HALLARON
Publisher: YUZU
Question
Book Icon
Chapter 8.4, Problem 8.4PP

A.

Program Plan Intro

Given code:

//Include necessary header files

#include <stdio.h>

#include "csapp.h"

//Define a main function

int main()

{

//Variable declaration

int status;

pid_t pid;

//Print the statement

printf("Hello\n");

//Call the method fork() and assign it to the variable pid

pid = fork();

//Print the statement

printf("%d\n",!pid);

//Check, pid is not equal to zero

if (pid != 0)

{

//True, check the condition

if (waitpid(-1, &status, 0) > 0)

{

//True, check the condition

if (WIFEXITED(status) != 0)

//True, print the statement

printf("%d\n" , WEXITSTATUS(status));

}

}

//Otherwise, print the statement

printf("Bye\n");

//Exit

exit(2);

}

Explanation:

The given code is used to print the number of output lines and possible outputs.

In the given code, the variable “status” and “pid_t pid” are declared.

  • The main program first print the output line “Hello”.
  • Then, call the function “fork()”, which is called once and return twice.
  • Print the value that is not equal to the variable “pid”.
  • The “if” condition check, the variable “pid” is not equal to “0”.
    • True, “if” condition check, “(waitpid(-1, &status, 0) > 0)”.
      • True, “if” condition check, “(WIFEXITED(status) != 0)”.
        • True, print the value of “WEXITSTATUS(status)”.
  • Print the statement “Bye”.
  • Exit from the program.

B.

Explanation of Solution

Possible ordering of the output lines:

Possible output sequence corresponding to the process graph is as follows:

Hello

Blurred answer
Knowledge Booster
Background pattern image
Recommended textbooks for you
Text book image
Computer Networking: A Top-Down Approach (7th Edi...
Computer Engineering
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:PEARSON
Text book image
Computer Organization and Design MIPS Edition, Fi...
Computer Engineering
ISBN:9780124077263
Author:David A. Patterson, John L. Hennessy
Publisher:Elsevier Science
Text book image
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:9781337569330
Author:Jill West, Tamara Dean, Jean Andrews
Publisher:Cengage Learning
Text book image
Concepts of Database Management
Computer Engineering
ISBN:9781337093422
Author:Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:Cengage Learning
Text book image
Prelude to Programming
Computer Engineering
ISBN:9780133750423
Author:VENIT, Stewart
Publisher:Pearson Education
Text book image
Sc Business Data Communications and Networking, T...
Computer Engineering
ISBN:9781119368830
Author:FITZGERALD
Publisher:WILEY