Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Objective: In this assignment, you will be writing a program that performs the fork() and exec() system calls. You will demonstrate that you understand how

Objective:

In this assignment, you will be writing a program that performs the fork() and exec() system calls. You will demonstrate that you understand how to properly interpret the output of the fork() system call as well as the proper place to use the exec() system call.

Details:

Your program will call the fork() system call at the very start. The parent process will display a message indicating it has started and will then wait for a specific child process ID to complete. Once the child process has completed, the parent process will display a message indicating that the child is complete and the parent will now terminate.

The child process will display a message indicating that it has started. If one or more arguments were provided on the command line, the child process will perform the appropriate exec() system call to load the new executable into memory with the appropriate arguments if provided. If no arguments were provided, the child process will display a message indicating that it will terminate.

Output:

Here are several examples of what is expected:

Example 1: No Arguments

# ./assn2 PARENT started, now waiting for process ID#486 CHILD started. No arguments provided. Terminating child. PARENT resumed. Child exit code of 0. Now terminating parent

Example 2: One Argument

# ./assn2 ls PARENT started, now waiting for process ID#488 CHILD started. One argument provided. Calling execlp(), never to return (sniff) assn2 assn2.c Makefile PARENT resumed. Child exit code of 0. Now terminating parent

Example 3: More Than One Argument

# ./assn2 ls -l PARENT started, now waiting for process ID#491 CHILD started. More than one argument provided. Calling execvp(), never to return (sniff) total 20 -rwxrwxr--+ 1 jtang jtang 10119 Jan 4 23:00 assn2 -rw-rw-r--+ 1 jtang jtang 1175 Jan 4 23:00 assn2.c -rw-rw-r--+ 1 jtang jtang 71 Jan 4 22:40 Makefile PARENT resumed. Child exit code of 0. Now terminating parent

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_2

Step: 3

blur-text-image_3

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

More Books

Students also viewed these Databases questions