Answered step by step
Verified Expert Solution
Question
1 Approved Answer
waitpid() System Call A parent process usually needs to synchronize its actions by waiting until the child process has either stopped or terminated its actions
waitpid() System Call A parent process usually needs to synchronize its actions by waiting until the child process has either stopped or terminated its actions The waitpid() system call gives a process a way to wait for a process to stop. It's called as follows. pid = waitpid(child, &status, options); In this case, the operating system will block the calling process until the process with ID child ends The options parameter gives ways of modifying the behavior to, for example, not block the calling process. We can just use 0 for options here. When the child process ends, the operating system changes the int variable status to represent how child process ended (incorporating the exit code, should the calling process want that information), and it unblocks the calling process, returning the process ID of the process that just stopped. If the calling process does not have any child associated with it, wait will return immediately with a value of -1 1. Write a program processes.c, and let the parent process produce two child processes. One prints out "I am first child, my pid is: "PID, and the other prints out "I am second child, my pid is: " PID. Guarantee that the parent terminates after the children terminate (Note, you need to wait for two child processes here). Use the getpid() function to retrieve the PID
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started