Question
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
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