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 im Programm-Bundle der Anwendung zu finden. Um es aufzurufen, verwenden Sie den folgenden relativen Pfad:
Hardware Monitor.app/Contents/MacOS/hwmonitor
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 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