Como eu crio o aplicativo B que seria capaz de se comunicar com o aplicativo em execução A? [fechadas]

0

Eu tenho um aplicativo em segundo plano A .

Eu quero criar o aplicativo B para configurar o aplicativo A em tempo real.

Então, como posso detectar se A está em execução e enviar algumas mensagens para A ?

    
por kravemir 08.05.2012 / 10:49

2 respostas

3

Se você quiser apenas alterar a configuração do programa, o método típico de fazer isso é atualizar seu arquivo conf e enviar um sinal SIGHUP, para o qual ele está programado para responder recarregando seu arquivo conf (veja signal(7) ). Como Coren disse, você tipicamente tem o programa armazenando seu pid em um arquivo em / var / run quando ele inicia para que você possa enviar o sinal mais tarde.

Se você precisar de uma comunicação mais complexa com o programa, você desejará usar um soquete de domínio fifo ou unix. Um fifo (veja fifo(7) e mkfifo(3) ) é mais simples, mas o daemon só pode se comunicar com um único programa de controle. Os soquetes de domínio Unix (consulte unix(7) ) são mais complicados de usar, mas você pode aceitar conexões de vários clientes.

    
por 08.05.2012 / 15:48
0

A aplicação em segundo plano é chamada de " daemon " no Unix & Mundo Linux.

Eles são padronizados de várias maneiras, uma maneira é como obter seu pid. Eles geralmente criam um arquivo pid em /var/run .

Com o seu pid, você pode saber quase tudo sobre eles com a ajuda de / proc . Você pode saber se ainda está ativo, memória usada, mapeamento de memória, arquivos abertos, etc, etc.

E, como sr_ disse, você pode usar os métodos IPC para se comunicar com ele.

    
por 08.05.2012 / 14:47