Løsning på dmesg | tail -f problem på Mac OS X v10.6.7 (Snow Leopard)

Hvordan kan dmesg | tail -f udføres på Mac OS X v10.6.7 (Snow Leopard), når tail afslutter i stedet for at overvåge output?

På Mac OS X v10.6.7 (Snow Leopard) fungerer dmesg | tail -f ikke som forventet, fordi dmesg ikke kontinuerligt genererer output; brug i stedet syslog -w, tail -f /var/log/system.log eller Console.app til at overvåge systemlogfiler.

Hvordan kan dmesg | tail -f udføres på Mac OS X v10.6.7 (Snow Leopard), når tail afslutter i stedet for at overvåge output?

På Mac OS X v10.6.7 (Snow Leopard) kan du opleve, at kommandoen dmesg | tail -f ikke fungerer som forventet, fordi tail afslutter i stedet for at overvåge output. Dette skyldes, at dmesg på denne version af OS X ikke kontinuerligt genererer output. For at overvåge systemlogfiler kontinuerligt kan du bruge følgende metoder:

  • Brug syslog: Mac OS X bruger syslog til at håndtere systemlogfiler. Du kan overvåge systemlogfiler ved hjælp af syslog kommandoen.
    syslog -w
    Dette vil kontinuerligt vise nye logposter, efterhånden som de genereres.
  • Brug tail på systemlogfiler: Du kan også bruge tail -f på specifikke logfiler, som systemet genererer. For eksempel:
    tail -f /var/log/system.log
    Dette vil overvåge systemlogfilen og vise nye poster, efterhånden som de tilføjes.
  • Brug Console.app: Mac OS X inkluderer en applikation kaldet Console, som giver en grafisk grænseflade til at overvåge systemlogfiler.
    1. Åbn Console.app fra /Applications/Utilities/.
    2. Vælg "All Messages" for at se alle systemlogposter i realtid.

Ved at bruge en af disse metoder kan du effektivt overvåge systemlogfiler på Mac OS X v10.6.7 (Snow Leopard) uden at støde på problemer med tail kommandoen.