Question: Write a C program for Linux called pipes.c that does the following: In the main() function, it creates a pipe using the pipe() function, then
Write a C program for Linux called pipes.c that does the following:
In the main() function, it creates a pipe using the pipe() function, then creates two child processes with
fork(). Child 1 redirects stdout to the write end of the pipe and then executes with execlp() the "ps -aux"
command. Child 2 redirects its input from stdin to the read end of the pipe, then it executes the "sort -r
-n -k 5" command.
After creating both children, the parent process waits for them to terminate before it can exit.
Note that you may have to create Child 2 first, followed by Child 1.
The parent program does the same thing as a shell that runs the command "ps -aux | sort -r -n -k 5".
You must use the fork(), pipe(), dup2(), close(), execlp() functions.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
