CS 433 San Diego State University C Programming Shell Interface Project

Write your own program designing a C++ shell interface that accepts user commands and then executes each command in a separate process. Your implementation will support input and output redirection, as well as pipes as a form of IPC between a pair of commands. Completing this project will involve using the UNIX fork(), exec(), wait(), dup2(), and pipe() system calls.

The program should print a short description when it starts (like a header or welcome message). You must submit your source code and Makefile so that we can compile your program with the make command.

The program should implement 1-4 parts:

1. Creating the child process and executing the command in the child

2. Providing a history feature

3. Adding support of input and output redirection

4. Allowing the parent and child to communication via a pipe


Always check for potential errors of system calls in your code, which might lead to creating an infinite number of processes. For example, execvp() may fail if the command is unknown, which should result in an error message “command not found”. Monitor your processes and make sure all processes are terminated appropriately. We don’t want to have hundreds of processes use up all the computer resources.

Use command “ps -afu your_user_name” to see the processes belonging to you and kill a process of yours using “kill -9 pid”, where pid is the id of the process

reference pdf, skeletonCode and exampleCode in this googleDrive link below to write the program



15% off for this assignment.

Our Prices Start at $11.99. As Our First Client, Use Coupon Code GET15 to claim 15% Discount This Month!!

Why US?

100% Confidentiality

Information about customers is confidential and never disclosed to third parties.

Timely Delivery

No missed deadlines – 97% of assignments are completed in time.

Original Writing

We complete all papers from scratch. You can get a plagiarism report.

Money Back

If you are convinced that our writer has not followed your requirements, feel free to ask for a refund.

× How can I help you?