Um retorno de um comando shell garante que os arquivos de saída foram gravados?

1

Estou criando um aplicativo OSX e uso o comando screencapture para capturar uma captura de tela e gravá-la no disco:

screencapture -mT0 ~/screenshot.png

Posso, se não estiver executando comandos UNIX em segundo plano, esperar que o arquivo seja completamente gerado quando o comando for executado e eu tiver recebido um status de saída?

    
por Sebastian 26.11.2012 / 10:29

1 resposta

3

Sempre há buffers, portanto, quando o comando retorna, o arquivo pode não ter sido gravado no disco. Todos os aplicativos verão o arquivo neste momento, mas se o sistema travar ou perder energia, o arquivo pode não estar presente ou pode não estar completo após a reinicialização.

Você pode executar sync posteriormente para liberar todos os buffers do sistema de arquivos, mas há uma chance de que as alterações sejam apenas no buffer do disco e ainda não gravadas no próprio disco.

    
por 26.11.2012 / 11:02

Tags