Der CpuMeter erwartet Befehle über seinen Kommunikationsport in Form eines Strings im CSV-Format. Hierbei lautet die Syntax <befehl>, <parameter>, <parameter>, <parameter>, <parameter>, ....
Die unterstützten Befehle decken sich mit den Methoden eines DataProvider, wobei die Parameter entsprechend angepasst sind:
Wobei start ein flag darstellt, ob der CpuMeter sofort gestartet werden soll (0=nein, 1=ja), und select auf das gesuchte Datum zeigt.
Zeitangaben müssen in Form von Sekunden seit Epoch angegeben werden.
Soll ein neuer Kindprozess gestartet werden, so wird zunächst überprüft, ob die angegebene Prozess-ID existiert. Ist dies der Fall, so wird ein fork ausgeführt und der Mutterprozess geht wieder in Grundstellung, d.h. wartet auf weitere Befehle.
Der Kindprozess sucht für die weitere Kommunikation einen freien Port ab der Nummer 25000 und erzeugt eine temporäre Datei für die Überwachungsdaten. Diese Datei wird im /tmp-Verzeichnis abgelegt und wird nach folgendem Muster benannt: acclog.XXXXXX. Die letzten sechs Zeichen werden durch den Systemaufruf mkstemp auf eine bestimmte Art und Weise festgelegt, sodaß die Eindeutigkeit des Dateinamens garantiert ist.
In dieser Datei werden nun die folgenden Daten im ASCII-Format, zeilenweise und durch Komma getrennt, abgelegt: