Tempo máximo que um descritor de arquivo pode ser mantido

2

Estou escrevendo um programa de longa duração no ambiente Linux que calcula entradas em uma tabela grande. Toda vez que chega ao final da linha, ele envia os valores calculados para um arquivo de texto simples.

Para evitar a necessidade de reabrir o arquivo continuamente e anexá-lo, estou pensando em abrir o arquivo uma vez e mantê-lo aberto durante o programa.

Eu sei que há um limite no número máximo de descritores de arquivos que podem ser abertos de uma só vez, mas há um limite de tempo em um único descritor de arquivo sendo mantido por um longo período de tempo?

Observação: o processo que estou executando pode demorar um mês ou mais para ser concluído.

    
por therealrootuser 04.11.2014 / 03:46

1 resposta

1

Se eu entendi corretamente, você está procurando alguma solução conforme sugerido em aqui . Então, como sugerido em esta resposta, eu queria ver se há uma opção usando exec . Então, quando eu fiz uma pesquisa no google linux anexar usando o descritor de arquivos , eu obtive isso responder do usuário Gilles .

Então a essência de sua resposta é o que eu acredito que você está procurando.

exec 5>/tmp/foo       # open /tmp/foo for writing, on fd 5
while true; do        # 
  echo "Hello" >&5    # write to fd 5, i.e. /tmp/foo
done                  # 

Em relação ao tempo máximo que o descritor de arquivos pode permanecer aberto, acredito que, enquanto o loop terminar, ele permanecerá aberto, já que não estamos fechando o descritor de arquivo aqui. Você pode encontrar mais informações sobre essa resposta à qual eu estava vinculado.

    
por 04.11.2014 / 06:13

Tags