Table of Contents

7 - Meziprocesová komunikace

Procvičovaná témata

Úvod

Pojmenovaná roura

Roura (pipe) slouží k propojení výstupu jednoho procesu na vstup druhého procesu, např. ls -l | wc -l. Roury se dělí na dvé katagorie, nepojmenované a pojmenované. Nepojmenované roury jsou typicky UNIXové roury s |. Roury využívají zápis a čtení ze souboru s vlastním souborovým deskriptorem.

Vyzkoušejte následující příkazy v terminálu:

Pojmenovaná roura, implementovaná jako fronta FIFO, je využívaná ke komunikaci mezi nepříbuznými programy. Pojmenovaná roura se vytvoří pomocí příkazu mkfifo <pipe name>.

mkfifo /tmp/my_pipe.pipe
Výstup programu ls -l zapište do roury a do souboru
ls -l > /tmp/my_pipe.pipe
ls -l > /tmp/output.txt
Obsah souboru i roury můžeme číst pomocí programu cat
cat < /tmp/my_pipe.pipe

Konzultace

Zbytek cvičení využijte ke konzultacím ohledně HW, mohou být a volitelně rozšířené dle libovolného tématu zájmu