IPCMSG: Comunicação inter-processos sem magia negra
A biblioteca IPCMSG foi criada para facilitar o desenvolvimento de programas que utilizam comunicação inter-processo. Nesse artigo aprenderemos, de forma prática, como usar essa biblioteca em seus códigos C/C++.
[ Hits: 23.419 ]
Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 20/10/2005 | Blog: http://assuntonerd.com.br
total 0 drwxr-x--- 5 cabelo users 120 2005-09-03 14:44 exemplo drwxr-x--- 2 cabelo users 200 2005-09-03 14:44 libPara compilar e instalar a biblioteca, entre na pasta lib e execute o comando make. Após a compilação, execute o comando make install como super-usuário:
total 0 drwxr-x--- 2 cabelo users 112 2005-09-03 14:44 comunica drwxr-x--- 2 cabelo users 112 2005-09-03 14:44 semaforo drwxr-x--- 2 cabelo users 112 2005-09-03 14:44 tcpPara não tornar muito extenso este artigo, irei explicar apenas a comunicação inter-processo através da fila de mensagem.
total 8 -rw-r----- 1 cabelo users 779 2005-09-03 14:44 cliente.cpp -rw-r----- 1 cabelo users 1100 2005-09-03 14:44 server.cppPara compilar, use o compilador g++ como no exemplo abaixo, assim obtendo os 2 binários para execução dos nossos testes:
total 88 -rwxr-xr-x 1 cabelo users 37965 2005-09-03 15:01 cliente -rw-r----- 1 cabelo users 779 2005-09-03 14:44 cliente.cpp -rwxr-xr-x 1 cabelo users 38072 2005-09-03 15:01 server -rw-r----- 1 cabelo users 1100 2005-09-03 14:44 server.cppAntes de executar os nossos programas teste, execute o comando ipcs:
- Segmentos da memória compartilhada - chave shmid proprietario perms bytes nattch status 0x00000000 851969 cabelo 600 262144 1 dest 0x00000000 917506 cabelo 600 393216 2 dest 0x00000000 950275 cabelo 600 196608 2 dest 0x00000000 4292612 cabelo 600 393216 2 dest 0x00000000 4325381 cabelo 600 196608 2 dest 0x00000000 4358150 cabelo 666 57600 1 dest ------ Arrays de semáforos ------ chave semid proprietario perms nsems ----- Filas de mensagens ------ chave msqid proprietario perms bytes usados mensagensReparem que não existe nenhuma fila de mensagem criada até o presente momento. Agora execute o programa server e veja o que acontece ao executar o ipcs em outro terminal:
- Segmentos da memória compartilhada - chave shmid proprietario perms bytes nattch status 0x00000000 851969 cabelo 600 262144 1 dest 0x00000000 917506 cabelo 600 393216 2 dest 0x00000000 950275 cabelo 600 196608 2 dest 0x00000000 4292612 cabelo 600 393216 2 dest 0x00000000 4325381 cabelo 600 196608 2 dest 0x00000000 4358150 cabelo 666 57600 1 dest ------ Arrays de semáforos ------ chave semid proprietario perms nsems ----- Filas de mensagens ------ chave msqid proprietario perms bytes usados mensagens 0x0000000d 65537 cabelo 666 0 0Agora vamos executar o programa cliente (em outro terminal) para efetuar a comunicação entre os dois processos criados (o server e o cliente).
Biometria: Reconhecimento Facial OpenSource!
ReactOS: O irmão open-source do Microsoft Windows NT 4.0
openSUSE Linux no Windows 10 sem virtualização
Como fazer um servidor de rádio virtual
Visão Computacional - Reconhecendo objetos na plataforma Linux via Webcam
Compilação do kernel v3.x no CentOS e Debian
Slackware 10.2 com dois kernels na mesma instalação
Recompilar o Kernel? Isso ainda existe??
Compilação do kernel passo-a-passo
cpulimit - Limitando o uso da CPU por processo
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Criando uma Infraestrutura para uma micro Empresa
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
problema para barrar sites/downloas via HTTPS. (2)
Liberação de alguns links no squid (21)