Mac Terminal-Befehl an Geektools

1191
flapjacks

Ich habe gerade Geektools und versuche, ein Shell-Geeklet zu erhalten, das den Befehl top -F -R -o cpuauf dieselbe Weise anzeigt, wie er im Terminal angezeigt wird. Über Google habe ich diesen Befehl gefunden, um ein Bündel von Systeminformationen anzuzeigen:

uptime | awk ''; top -l 1 | awk '/PhysMem/ ' ; top -l 2 | awk '/CPU usage/; NR; 5 '

Dies hat viel mehr CPU-Informationen, als ich will / brauche. Ich hoffe, die CPU-Informationen im zweiten Befehl durch den ersten Cleaner-Befehl zu ersetzen, aber ich weiß nicht, wie ich sie richtig anzeigen kann.

1
Ich vermute mal, dass Sie es ** genau ** wollen (oder so nah wie möglich) an der Ausgabe von "top"? daviewales vor 11 Jahren 0

1 Antwort auf die Frage

1
daviewales

Versuchen Sie es ps aux. Es zeigt eine schöne, saubere Ausgabe, sortiert nach CPU-Nutzung. Wenn Sie etwas weniger übersichtliches wollen, versuchen Sie es

ps aux | awk ''; 

Um diesen Befehl zu verstehen, führen Sie ihn einfach aus ps auxund sehen Sie sich die Ausgabe an. Die Variable $3bezieht sich auf die dritte Spalte der Ausgabe. Sie können Spalten zu GeekTool hinzufügen oder entfernen, indem Sie diese Variablen zum Befehl hinzufügen oder daraus entfernen. Der große Leerraum zwischen den Anführungszeichen ändert lediglich den Abstand zwischen den Spalten in der Ausgabe.

Wenn Sie mehr Optionen wünschen, checken Sie die Manpage durch Eingabe aus man ps. (Sie können dies auch tun top. Wenn Sie sich fragen, warum ich keine Änderung vorgeschlagen habe top, liegt dies an den folgenden Problemen:

Das Problem mit GeekTool besteht darin, dass die Ausgabe eines statischen Befehls erforderlich ist. topDie Verwendung einer statischen Ausgabe kann erfolgen top -l 1, da sie jedoch nur ein Beispiel erstellt, kann sie die CPU-Auslastung nicht ermitteln. (Dafür sind mindestens zwei erforderlich.) Sie werden feststellen, dass top -l 1Ihre CPU-Nutzung beim Ausführen als 0 angezeigt wird. Um dies zu korrigieren, können Sie verwenden top -l 2. Dies zeigt jedoch zweimal die Systemnutzung an, und nur der zweite Datensatz ist korrekt. Dies wäre wahrscheinlich nicht hilfreich für GeekTool. Wenn Sie noch wirklich verwenden möchten top, können Sie den folgenden Befehl ausprobieren: top -l 2 -o cpu -R -stats cpu,command. Es werden jedoch nur die falschen Daten angezeigt, da diese zuerst gedruckt werden.