inter-process-comm
Toto je starší verze dokumentu!
Obsah
Mezi-procesová komunikace
- sdílená paměť
- nepojmenovaná roura (pipe)
- pojmenovaná roura
- unix soket
- POSIX_Message_Queues
- DBus
Nepojmenovaná roura
- jednosměrná
- dva konce - producent a konzument
- do roury by měl zapisovat nebo z ní číst pouze jeden proces
- čtení je destruktivní (přečtení jedním procesem zruší možnost čtení procesem druhým)
- zápis/čtení do velikosti 'PIPE_BUF' by mělo být atomické (pokud do roury budou zapisovat dva procesy, tak zápisy do uvedené velikosti by se neměli pomíchat dohromady)
- roura se vytváří příkazem
pipe- parametrem je
int[2], kde index 0 je deskriptor pro zápis a index 1 pro čtení
- rouru je potřeba na konci uzavřít příkazem
close - zapisovat lze příkazem
write, číst příkazemread
#include <unistd.h> int pipefd[2]; pipe(pipefd); .. close(pipefd[0]); close(pipefd[1]);
spojení s procesem jednosměrně
spojení s procesem obousměrně
inter-process-comm.1450203075.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
