Pojmenovaná roura

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Pojmenovaná roura rozšiřuje v informatice tradiční koncept roury v unixových systémech. Je jednou z metod meziprocesové komunikace (IPC), která funguje jako fronta FIFO. Je využívána pro komunikaci mezi nepříbuznými procesy a je trvalá, což znamená že ji uživatel nejprve vytvoří (jako speciální soubor), procesy se k ní následně připojí a po ukončení používání je možné ji odstranit. Stejný koncept existuje i v systému Microsoft Windows, avšak způsob jeho použití se podstatně liší.

Alternativou k pojmenované rouře je anonymní roura („nepojmenovaná“), kterou lze vytvořit jen mezi příbuznými procesy a zaniká automaticky v okamžiku jejich ukončení. Pokročilejší metodou IPC jsou sokety, které umožňují obousměrnou komunikaci.

Použití

Pojmenovanou rouru je třeba před použitím vytvořit pomocí příkazu (nebo stejnojmenné funkce) mkfifo nebo mknod. S rourou pak pracují dva nezávislé procesy: jeden program do roury zapisuje a druhý z ní čte.

Například můžeme vytvořit rouru a nastavit gzip, aby komprimoval všechno, co se mu dostane na vstup z roury:

mkfifo moje_roura gzip -9 -c out.gz

Z dalšího shellu může nezávisle poslat data ke komprimaci:

cat soubor > moje_roura

Pomocí pojmenované roury se provádí například komunikace mezi dvěma procesy s různými oprávněními. Přes webovou stránku obsluhovanou PHP nebo CGI skriptem zapisuje uživatel do roury požadavek na změnu chování trvale běžícího (démona) programu Nagios.

Související články

Roura (Unix) - anonymní (nepojmenovaná) roura mezi příbuznými procesy * Soket - pokročilejší IPC s možností obousměrné komunikace i mezi procesy na různých počítačích

Kategorie:Informatika Kategorie:Meziprocesová komunikace Kategorie:Operační systém

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top