Comando externo para forçar o fluxo a flush

2

Eu tenho um C ++ ofstream que, por razões de desempenho, eu não libero de dentro do código. No entanto, ocasionalmente, preciso inspecionar o conteúdo do arquivo. Existe um comando do Linux que forçará o fluxo a fluir para o arquivo? (Por exemplo, enquanto o programa de gravação ainda está em execução e mantendo o fluxo aberto.)

    
por feetwet 27.04.2015 / 20:40

1 resposta

3

Is there a Linux command that will force the stream to flush to the file?

Não realmente, mas a abordagem padrão é instalar um manipulador de sinal para, digamos, SIGUSR1 . O manipulador de sinal definiria um sinalizador, então seu programa verificaria o sinalizador de vez em quando e liberaria os fluxos relevantes, e talvez também imprimisse algumas informações de estado relevantes.

    
por 27.04.2015 / 22:04