Skip to content

Latest commit

 

History

History
23 lines (19 loc) · 1.79 KB

Задaча 2.md

File metadata and controls

23 lines (19 loc) · 1.79 KB

Зад. 2 Напишете две програми на C (foo и bar), които си комуникират през наименована тръба.
Програмата foo приема параметър – имена файл,
програмата bar приема параметър – команда като абсолютен път до изпълним файл.

Примерни извиквания и ред на изпълнение (в отделни терминали):

./foo a.txt
./bar /usr/bin/sort

Програмата foo трябва да изпълнява външна команда cat с аргумент името на подадения файл, така че съдържанието му да се прехвърли през тръбата към параметър програмата bar, която от своя страна трябва да изпълни подадената ѝ като аргумент команда без параметри (/usr/bin/sort в примера), която да обработи получените през тръбата данни, четейки от стандартния вход. Еквивалент на горния пример би било следното изпълнение:

cat a.txt | /usr/bin/sort

Алтернативен вариант за тестване на програмите foo и bar с един терминал:
./foo a &
./bar /usr/bin/sort

(& ще изпълни програмата в background режим)

Решение:
foo.c
bar.c