GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wann ist /bin/sync in modernem Linux jemals nützlich?

Der sync Utility ist ein trivialer Wrapper um sync Systemaufruf.

Sie müssen es nicht explizit aufrufen, bevor Sie den Computer herunterfahren … denn das erledigen die Shutdown-Skripte für Sie! Tatsächlich ist dies in den meisten Fällen nicht erforderlich, da das Aushängen eines Dateisystems oder das Umschalten auf Nur-Lesen die Daten dieses Dateisystems auf die Festplatte löscht, und die Shutdown-Skripte tun dies. Aufruf von sync ist eine Gürtel-und-Klammern-Sache, falls etwas schief geht und ein Prozess irgendwie die Abschaltsequenz überlebt und das Aushängen verhindert.

sync wird auch in der vorletzten Phase einer Suspend- oder Ruhezustandssequenz aufgerufen, kurz bevor die Hardware abgeschaltet wird. Hier gibt es keine Alternative, irgendetwas muss sagen „jetzt alle Daten auf Platte schreiben“.

Ein anderes Mal, wenn sync nützlich ist, bevor Sie etwas tun, das einen Absturz verursachen kann, z. Testen eines experimentellen Treibers.

Aufruf von sync vor einem Programm Abstürze sind nutzlos. sync handhabt Daten in Puffern zwischen den Programmen und den Speichermedien; es macht nichts mit Daten, die ein Programm nicht in einer Datei gespeichert hat.

Anruf sync ist auch nutzlos, wenn der verfügbare Speicher untersucht wird, da er den verfügbaren Speicher nicht beeinflusst. Während es Schreibpuffer für die Rückgewinnung freigibt, gibt es diese Puffer nicht wirklich frei – sie werden freigegeben, wenn der Kernel Speicher für etwas anderes zuweisen muss, in der Zwischenzeit bleiben sie als Cache vorhanden.


Linux
  1. Linux:Unterschied zwischen /dev/console , /dev/tty und /dev/tty0?

  2. /usr/bin vs. /usr/local/bin Unter Linux?

  3. Wann sollte /dev/random vs. /dev/urandom verwendet werden?

  4. Linux – Wann sollten /dev und /sys für die Userspace-Kernel-Kommunikation verwendet werden?

  5. Gibt es einen Grund, einen Shebang zu haben, der auf /bin/sh statt auf /bin/bash zeigt?

17 nützliche rsync (Remote Sync)-Befehlsbeispiele in Linux

Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

Linux – /sbin/init existiert nicht?

40 nützliche Linux-Netzwerkbefehle für moderne SysAdmins

/bin Inhalt nach /usr/bin verschoben, rückgängig machen möglich?

#!/bin/sh vs. #!/bin/bash für maximale Portabilität