![]() ![]() |
Kommandozeilenversion verwenden |
Wenn Sie Erfahrung mit der BSD-Kommandozeile haben oder Messwerte in Ihren eigenen Skripten verwenden möchten, ist dies möglich. Sie können eine Version des Monitorprogramms verwenden, das keine grafische Benutzerschnittstelle besitzt. Das ausführbare Programm ist jeweils im Programm-Bundle der Anwendung zu finden. Um es aufzurufen, verwenden Sie den folgenden relativen Pfad:
Hardware Monitor.app/Contents/MacOS/hwmonitor
beziehungsweise
Temperature Monitor.app/Contents/MacOS/tempmonitor
Hinweis: Um Apples aktuelle Richtlinien für Softwarepaketierung und Codesignaturen voll zu unterstützen, sind die ausführbaren Dateien nicht mehr im Resources-Unterordner zu finden, wie noch in früheren Versionen der Programme. Wenn Sie auf Version 4.6 oder später aktualisieren, ändern Sie Ihre Pfadangabe auf den Ordner MacOS um.
Die Parametersyntax lautet wie folgt:
hwmonitor [-c | -f | -k] [-ds] [-q] [-th | -tv]
Das Programm gibt nach dem Aufruf die aktuellen Messwerte aller vorgefundenen Sensoren zeilenweise in der Form
Sensorname: Messwert Einheit
aus. Als Sensornamen werden hierbei die von Apple definierten internen Bezeichnungen der Sensoren verwendet, die in der Firmware des jeweiligen Computermodells verankert sind. Falls Sie die Optionen -c, -f
oder -k
angeben, erzwingen Sie eine Anzeige von Temperaturdaten in Grad Celsius, Grad Fahrenheit, beziehungsweise Kelvin.
Sensoren, die erkannt wurden, aber offline sind, zum Beispiel
weil sie Teil eines Gerätes sind, das sich gerade im Ruhezustand befindet,
oder weil sie gerade von einem technischen Problem betroffen sind, werden mit
einem Wert von "-
" (ein einzelnes Minuszeichen) angezeigt.
Wenn Sie die Option -ds
hinzufügen, wird der Zugriff auf S.M.A.R.T.-Festplattensensoren
abgeschaltet. Dies kann nützlich sein, wenn Sie das Programm in regelmäßigen
Abständen in einem fortlaufendem Skript verwenden, wenn Sie sicherstellen möchten,
dass die Festplatten nicht ständig in Betrieb gehalten werden und somit
in den Ruhezustand gehen können.
Nach Hinzufügen der Option -q
werden Meßgrößenbeschreibungen
an das Ende jeder Sensorortsbezeichnung angehängt. Dies hilft dabei, zwischen
Sensoren auf bestimmten Hardware-Modellen zu unterscheiden, bei denen mehrere
physikalische Größen (z.B. Spannung, Strom und Leistung) am gleichen Ort gemessen
werden. Die Messgröße wird zwischen eckigen Klammern angegeben. Hier ein Beispiel:
SMC MEMORY VRM SUPPLY A [VOLTAGE]: 1.52344 V SMC MEMORY VRM SUPPLY A [CURRENT]: 1.23828 A SMC MEMORY VRM SUPPLY A [POWER]: 1.89062 W
Das Befehlszeilenprogramm verwendet die folgenden Bezeichnungen für die einzelnen Größen:
Bezeichner | Bedeutung |
---|---|
TEMPERATURE | Temperatur |
VOLTAGE | Spannung |
CURRENT | Strom |
POWER | Leistung |
CAPACITY | Kapazität |
RPMS | Umdrehungen pro Minute |
PULSE WIDTH | Tastverhältnis in Prozent bei Pulsbreitenmodulierung |
LIGHT | photometrischer Wert für einfallendes Licht |
LOAD | Last in Prozent |
MEMORY SIZE | Speichergröße |
STATUS | logischer Status (0 = nein, 1 = ja) |
COUNTER | Zählerwert |
FREQUENCY | Frequenz |
DISCONNECTED | Sensor ist zurzeit offline |
Die Optionen mit dem Anfangsbuchstaben "t" können verwendet werden, um eine Tabelle im CSV-Format (Comma-Separated Values, durch Kommata getrennte Werte) zu erzeugen. CSV ist ein Industriestandard, der es erlaubt, Daten in fast jede Datenbank- oder Tabellenkalkulationsanwendung zu importieren.
Die Option -th erzeugt eine Überschriftenzeile, die alle Sensornamen auflistet. Die Option -tv erzeugt eine Zeile mit Werten für die Tabelle, wobei alle aktuellen Messdaten ausgegeben werden, wie es die Überschriftenzeile vorgibt. Einheiten werden weggelassen. Die erste Zeile der Tabelle enthält Datum und Uhrzeit in einem Format, das sich an die internationalen ISO-Normen hält.
Ähnlich wie beim Vollprogramm benötigt hwmonitor einen Lizenzschlüssel um ohne Einschränkungen zu laufen, so dass alle Sensoren, nicht nur Temperaturwerte angezeigt werden. Die Kommandozeilenversion verwendet automatisch den Schlüssel des Hauptprogramms nachdem dieser eingegeben wurde. Es wird empfohlen, das Programm mit der Option Gültig für alle Benutzer dieses Computers freizuschalten.
Die Parametersyntax lautet wie folgt:
tempmonitor [-c | -f | -k] [-ds] [[-a] [-l] | [-th | -tv]]
Das Programm gibt nach dem Aufruf den aktuellen Messwert des ersten Temperatursensors,
der sich in der Nähe des ersten Prozessors befindet, als Zahlenwert mit
Einheit aus. Falls Sie die Optionen -c, -f
oder -k
angeben, erzwingen Sie eine Anzeige von Temperaturdaten in Grad Celsius, Grad Fahrenheit, beziehungsweise Kelvin.
Sensoren, die erkannt wurden, aber offline sind, zum Beispiel
weil sie Teil eines Gerätes sind, das sich gerade im Ruhezustand befindet,
oder weil sie gerade von einem technischen Problem betroffen sind, werden mit
einem Wert von "-
" (ein einzelnes Minuszeichen) angezeigt.
Wenn Sie die Option -ds
hinzufügen, wird der Zugriff auf S.M.A.R.T.-Festplattensensoren
abgeschaltet. Dies kann nützlich sein, wenn Sie das Programm in regelmäßigen
Abständen in einem fortlaufendem Skript verwenden, wenn Sie sicherstellen möchten,
dass die Festplatten nicht ständig in Betrieb gehalten werden und somit in
den Ruhezustand gehen können.
Wenn Sie die Option -a
verwenden, werden alle Messwerte aller vorhandenen Temperatursensoren zeilenweise ausgegeben. Wenn Sie die Option -l
verwenden, wird der Wertausgabe jeweils ein Sensorname vorangestellt und die Ausgabe erfolgt in der Form
Sensorname: Messwert Einheit
Als Sensornamen werden hierbei die von Apple definierten internen Bezeichnungen der Sensoren verwendet, die in der Firmware des jeweiligen Computermodells verankert sind.
Die Optionen mit dem Anfangsbuchstaben "t" können verwendet werden, um eine Tabelle im CSV-Format (Comma-Separated Values, durch Kommata getrennte Werte) zu erzeugen. CSV ist ein Industriestandard, der es erlaubt, Daten in fast jede Datenbank- oder Tabellenkalkulationsanwendung zu importieren.
Die Option -th
erzeugt eine Überschriftenzeile, die alle Sensornamen
auflistet. Die Option -tv
erzeugt eine Zeile mit Werten für die Tabelle,
wobei alle aktuellen Messdaten ausgegeben werden, wie es die Überschriftenzeile
vorgibt. Einheiten werden weggelassen. Die erste Zeile der Tabelle enthält
Datum und Uhrzeit in einem Format, das sich an die internationalen ISO-Normen
hält.
Das Programm tempmonitor ist mit dem früher in Zusammenhang mit Temperaturmonitor vertriebenen Programm tempSensor kompatibel und versucht, sich ähnlich zu verhalten. Die in tempSensor unterstützte Option -i
zur Anzeige von Sensordaten wird jedoch nicht mehr unterstützt.
Die Anzeige von S.M.A.R.T.-Festplattensensoren ist nur dann möglich, wenn sich das Kommandozeilenprogramm innerhalb des zugehörigen Bundles der "großen" Applikation befindet und vorher ein chdir (cd) ausgeführt wurde, so dass der Resources-Ordner das aktuelle Verzeichnis ist. Sind diese Voraussetzungen nicht erfüllt, werden die Festplattensensoren ohne Anzeige von Fehlermeldungen weggelassen. Dies betrifft ausschließlich Computer mit Prozessoren auf Basis der PowerPC-Technik. Auf Intel-basierten Macs sind S.M.A.R.T.-Laufwerkssensoren ohne diese Vorausssetzung zugreifbar.
Bei Problemen geben die Programme Fehlermeldungen auf dem Standardfehlerkanal aus. Bei Beendigung verwendet die Programme die folgenden Rückgabewerte:
0 - der Befehl wurde erfolgreich ausgeführt, 1 - ein Fehler in den Befehlszeilenargumenten wurde gefunden, 2 - der Befehl kann auf diesem Computer nicht eingesetzt werden, da keinerlei Sensoren gefunden wurden.
Das folgende Skript zeigt ein sehr einfaches Beispiel, wie man die Kommandozeilenversion von Hardwaremonitor dazu verwenden kann, alle Werte aller Sensoren mit einer Zeitauflösung von einer Minute in einer CSV-Datenbankdatei aufzuzeichnen. Mithilfe dieser Technik können Sie die Beschränkung der Langzeitverläufe in Hardwaremonitor auf eine Woche umgehen, und so eine "unendliche" Verlaufsdatei erzeugen. Beachten Sie, dass diese Lösung extrem vereinfacht ist und nur das Grundprinzip umreißen soll. Das Skript muss an Ihre speziellen Bedürfnisse angepasst werden und sollte in der Praxis eleganter sein. Zum Beispiel sollte es die ganze Verlaufsdatei nicht einfach löschen wenn das Skript angehalten und dann neu gestartet wird.
#!/bin/sh cd /ExamplePath/HardwareMonitor.app/Contents/MacOS/
./hwmonitor -th > /Some/Document/Path/HistoryData.csv
while true
do
./hwmonitor -tv >> /Some/Document/Path/HistoryData.csv
/bin/sleep 60
done