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

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 (or other exec() variation)

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!