As listagens 'lsof' incluem gravações não sincronizadas / atrasadas?

1

Como resposta a uma resposta sobre arquivos não sincronizados eu queria saber se lsof conta gravações atrasadas como arquivos abertos?

Se um aplicativo fechou um arquivo, mas o arquivo ainda não está fisicamente no dispositivo, mas ainda está no buffer do kernel, espera-se uma gravação atrasada no dispositivo, lsof list tal arquivo como aberto ou é fechado e invisível para lsof ? E se não houver uma maneira de determinar se uma sincronização manual é necessária?

    
por Don Question 15.10.2015 / 15:32

1 resposta

2

Ele é considerado fechado e não será exibido.

Se ele fosse considerado aberto, qual descritor de arquivo você esperaria que reportasse? Fechar um arquivo remove o descritor de arquivo.

Eu não acho que haja algum comando que diga se há gravações em buffer em um arquivo. Mas, como mencionado na outra pergunta, o comando eject na mídia removível irá sincronizá-lo antes de retornar. Desligar o sistema também sincroniza todos os arquivos.

É por isso que você não deve remover fisicamente um dispositivo sem primeiro usar um comando como eject .

    
por 15.10.2015 / 16:51