Armazenando um bit de informação no espaço do usuário [closed]

2

Estou escrevendo um programa que coleta dados da rede. Eu preciso armazenar um bit de informação, um simples sim / não, em algum lugar para que outro processo possa lê-lo. Eu tenho várias opções: escrever um 1 ou 0 para um arquivo, touch ing / rm ing um arquivo, escrever um campo em uma tabela de banco de dados, etc. Pode haver outras maneiras que eu não conheço. Qual é a solução mais elegante neste caso? Este programa não armazena outros dados, apenas envia um alerta sob certas condições. Desempenho ou facilidade de codificação não é problema. Pontos de bônus se sua solução ainda funcionar se eu mudar de idéia e conseguir dois bits.

    
por Jos 16.04.2015 / 15:11

1 resposta

3

A comunicação entre processos não é uma questão pequena. Há muito "depende" de lá. Perl tem um capítulo inteiro sobre o assunto em perlipc

No entanto, para o seu cenário, conforme descrito, eu escreveria um arquivo de estado, flock e, em seguida, gravaria seus dados lá.

O flock garante que você não tenha uma condição de corrida e o arquivo pode ter um comprimento arbitrário. Você pode usar as permissões do sistema de arquivos para conceder acesso conforme for adequado às suas necessidades.

    
por 16.04.2015 / 15:15