Il sync
utility è un banale wrapper attorno al sync
chiamata di sistema.
Non è necessario chiamarlo esplicitamente prima di spegnere il computer... perché gli script di spegnimento lo fanno per te! In realtà, ciò non è necessario nella maggior parte dei casi, perché lo smontaggio di un filesystem o il passaggio alla sola lettura scarica i dati di quel filesystem sul disco e gli script di arresto lo fanno. Chiamando sync
è una questione di cinghie e bretelle, nel caso qualcosa vada storto e un processo sopravviva in qualche modo alla sequenza di arresto e impedisca lo smontaggio.
sync
viene chiamato anche nella penultima fase di una sequenza di sospensione o ibernazione, appena prima di spegnere l'hardware. Qui non c'è alternativa, qualcosa deve dire “scrivi tutti i dati su disco ora”.
Un'altra volta quando sync
è utile prima di fare qualcosa che rischia di causare un incidente, ad es. provare un driver sperimentale.
Chiamando sync
prima di un programma crash è inutile. sync
gestisce i dati nei buffer tra i programmi e il supporto di memorizzazione; non fa nulla ai dati che un programma non ha salvato in un file.
Chiamando sync
è anche inutile quando si esamina la memoria disponibile, poiché non influisce sulla memoria disponibile. Sebbene liberi i buffer di scrittura per il recupero, in realtà non li libera:verranno liberati quando il kernel dovrà allocare memoria per qualcos'altro, nel frattempo rimangono come cache.