§ 14. Оболочка

Задания

01Используя системные вызовы fork, pipe, dup и execvp, напишите программу которая перенправляет вывод одной команды на вход другой (как символ "|" в стандартной оболочке). Для этого в основном процессе создайте канал с помощью pipe, который будет использован для перенаправления. Затем создайте дочерний процесс с помощью fork, перенаправьте его стандартный вывод в канал с помощью dup и запустите команду в дочернем процессе с помощью execvp. Далее повторите те же действия для второго дочернего процесса, но в этот раз перенаправьте его стандартный ввод из канала. В конце дождитесь завершение дочерних процессов с помощью wait.