Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

#include #include #include #include #include #include /*The Main Function Start*/ void main(int argc, char *argv[]) { /*Storing The Process Id*/ pid_t pid; int j; int

image text in transcribed

#include #include #include #include #include #include

/*The Main Function Start*/ void main(int argc, char *argv[]) { /*Storing The Process Id*/ pid_t pid; int j; int status = 0;

/*process of forking*/#

if (argc == 1){ fprintf(stderr,"Usage: ./hw1 "); } int n = atoi(argv[1]); pid=fork(); if (pid == -1){ printf("Error in forking.... "); exit(0); } /*Child process*/ if (pid == 0) { printf("Child PID: %d ",getpid());

while (n != 1){ printf("%d ",n); if (n % 2 == 0){ n = n/2; } else { n = 3*n + 1; } } printf("1 "); } else{ printf("Parent PID: %d ",getpid()); /*Waiting for the child to finish*/ wait(0); } exit(0); }

So the code output is this

image text in transcribedf

But i want the code to print two parent id and child like this, need help correcting my code

image text in transcribedlimage text in transcribedimage text in transcribed

Programming Problems 155 3.21 The Collatz conjecture concerns what happens when we take any positive integer n and apply the following algorithm if n is even if n is odd | 3X11+I, The conjecture states that when this algorithm is continually applied all positive integers will eventually reach 1 . For example, if n = 35, the sequence is 35, 106, 53, 160, 80, 40, 20, 10, 5,16, 8, 4, 2,1 Write a C program using the fork() system call that generates this sequence in the child process. The starting number will be provided from the command line. For example, if 8 is passed as a parameter on the command line, the child process will output 8, 4, 2, 1. Because the parent and child processes have their own copies of the data, it will be necessary for the child to output the sequence. Have the parent invoke the wait) call to wait for the child process to complete before exiting the program. Perform necessary error checking to ensure that a positive integer is passed on the command line

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Learning PostgreSQL

Authors: Salahaldin Juba, Achim Vannahme, Andrey Volkov

1st Edition

178398919X, 9781783989195

More Books

Students also viewed these Databases questions

Question

=+and reduction in force, and intellectual property.

Answered: 1 week ago