Question: Write a C program called myshell.c, which, when compiled and run, will do what the shell does, namely, it executes in a loop (until user

Write a C program called myshell.c, which, when compiled and run, will do what the shell does, namely,

it executes in a loop (until user types exit on the keyboard), prints a prompt on the screen, reads the command typed on the keyboard (terminated by ), creates a new process and lets the child execute the users command, waits for the child to terminate and then goes back to beginning of the loop.

If the command typed is exit, then your program should terminate.

Print the total number of commands executed just before terminating your program.

Assume that each line represents one command only, no command will end with & (all commands will be attached commands, no background execution), user will not type ^c or ^z, all commands are simple commands, etc.

You can develop and test your program on any machine but it must compile and run correctly on any of the unix machines.

Useful system calls: fork(), exec() and its several variations, wait().

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!