GNU/Linux >> Tutoriels Linux >  >> Linux

Quand /bin/sync est-il utile dans Linux moderne ?

Le sync l'utilitaire est un wrapper trivial autour du sync appel système.

Vous n'avez pas besoin de l'appeler explicitement avant d'éteindre l'ordinateur… parce que les scripts d'arrêt le font pour vous ! En fait, ce n'est pas nécessaire dans la plupart des cas, car démonter un système de fichiers, ou le passer en lecture seule, vide les données de ce système de fichiers sur le disque, et les scripts d'arrêt le font. Appel sync est une affaire de ceintures et d'accolades, au cas où quelque chose tournerait mal et qu'un processus survit d'une manière ou d'une autre à la séquence d'arrêt et empêche le démontage.

sync est également appelé à l'avant-dernière étape d'une séquence de suspension ou d'hibernation, juste avant la mise hors tension du matériel. Ici, il n'y a pas d'alternative, quelque chose doit dire "écrire toutes les données sur le disque maintenant".

Une autre fois où sync est utile avant de faire quelque chose qui risque de provoquer un crash, par ex. essayer un pilote expérimental.

Appel sync avant un programme les pannes ne servent à rien. sync gère les données dans les tampons entre les programmes et les supports de stockage ; il ne fait rien aux données qu'un programme n'a pas enregistrées dans un fichier.

Appel sync est également inutile lors de l'examen de la mémoire disponible, car il n'affecte pas la mémoire disponible. Bien qu'il libère des tampons d'écriture pour la récupération, il ne libère pas réellement ces tampons - ils seront libérés lorsque le noyau aura besoin d'allouer de la mémoire pour autre chose, en attendant ils restent en cache.


Linux
  1. Linux :Différence entre /dev/console , /dev/tty et /dev/tty0 ?

  2. /usr/bin Vs /usr/local/bin Sous Linux ?

  3. Quand utiliser /dev/random contre /dev/urandom ?

  4. Linux - Quand utiliser /dev et /sys pour la communication espace utilisateur-noyau ?

  5. Aucune raison d'avoir un Shebang pointant vers /bin/sh plutôt que /bin/bash ?

17 exemples de commande rsync (synchronisation à distance) utiles sous Linux

Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

Linux – /sbin/init n'existe pas ?

40 commandes réseau Linux utiles pour les administrateurs système modernes

Déplacement du contenu de /bin vers /usr/bin, possible d'annuler ?

#!/bin/sh vs #!/bin/bash pour une portabilité maximale