O sync
utility é um invólucro trivial em torno do sync
chamada do sistema .
Você não precisa chamá-lo explicitamente antes de desligar o computador ... porque os scripts de desligamento fazem isso por você! Na verdade, isso não é necessário na maioria dos casos, porque desmontar um sistema de arquivos ou alterá-lo para somente leitura libera os dados desse sistema de arquivos para o disco, e os scripts de desligamento fazem isso. Chamar sync
é uma coisa de cintos e chaves, no caso de algo dar errado e um processo sobreviver à sequência de desligamento e impedir a desmontagem.
sync
também é chamado no próximo ao último estágio de uma sequência de suspensão ou hibernação, antes de desligar o hardware. Aqui não há alternativa, algo tem a dizer "gravar todos os dados no disco agora".
Outra hora em que sync
é útil é antes de fazer algo com risco de causar uma falha, por exemplo, experimentando um driver experimental.
Chamar sync
antes de um programa falhar é inútil. sync
manipula dados em buffers entre os programas e a mídia de armazenamento; ele não faz nada com dados que um programa não salvou em um arquivo.
Chamar sync
também é inútil ao examinar a memória disponível, já que ela não afeta a memória disponível. Embora ele libere buffers para recuperação, ele não libera esses buffers - eles serão liberados quando o kernel precisar alocar memória para outra coisa, enquanto eles permanecem como cache.