Question: Linux processes and signals by creating the shell of a typical daemon process. A typical daemon process forks child processes to perform the necessary work.

Linux processes and signals by creating the shell of a typical daemon process. A typical daemon process forks child processes to perform the necessary work.

Begin by reading the manual pages for signal (man signal) and wait (Linux: man 2 wait; Unix: man -s 3C wait).

Write a C/C++ program called signal-parent.cpp that waits a brief period of time (10 seconds; using the sleep function) to simulate a daemon process initializing and then waiting for an incoming request.

After this period, the parent process should fork/exec (don't use the system() function call) a child process (call it signal-child.cpp). The parent process should then sleep for a longer period of time (2 minutes).

The parent process should determine when the child process exits. The parent process should report the child's PID and it's return/exit status.

The child process should also sleep for a period of time (30 seconds) to simulate a child process performing some work on behalf of the user. After the child process wakes up, it should simply exit with a value of 53.

At each step, both processes should output an informational message to help us understand what is happening, such as the following: parent: forking child child: going to sleep etc.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!