Question: Write a C program with a focus on system calls. So only use read() and write() for obtaining input and creating output - do not

Write a C program with a focus on system calls. So only use read() and write() for obtaining input and creating output - do not use printf or fopen or similar functions. Use open() and close() and other system call functions where necessary.

The programs should be insensitive to the number of input characters (i.e. input from STDIN should terminate with a Control-D). Be sure that every process "cleans-up'' before terminating.

piper: Write a program called piper that creates 3 child processes that will each execute another program. That other program can be called flip which will simply be a program that captures STDIN and sends it to STDOUT or to a text file based on a flag that flip received as an argument - for example, "./flip -l").

- The parent, piper, should read characters from STDIN and send them to the children using pipes. - The first child process should execute flip with a -l flag and redirect its output to a file named lower.txt (example: "./flip -l"). - The second child process should execute flip with a -u flag and redirect its output to a file named upper.txt. - The third child should execute flip with both flags (example: "./flip -l -u"). No redirection should be done (output should be sent to STDOUT).

hint: piper will loop for user input of STDIN.

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!