Die Ausgabe des Shell-Befehls ist meiner top
Ansicht nach eine einfache und vertraute Methode, um einen groben Überblick über den Zustand einer Maschine zu erhalten. Ich möchte die top
Ausgabe (oder etwas sehr Ähnliches) von einem winzigen Webserver auf einem Computer für grobe Überwachungszwecke bereitstellen.
Gibt es eine Möglichkeit, die Textausgabe genau einmal zu schreiben , ohne Zeichen zu formatieren? Ich habe es versucht:
(sleep 1; echo 'q') | top > output.txt
Dies scheint zu sein , nah an , was ich will, mit der Ausnahme , dass (1) es gibt keine Garantie , dass ich nicht mehr oder weniger als eine Bildschirmseite von Informationen und (2) erhalten Ich habe alle Terminal Formatierungszeichen auf Streifen aus.
Oder gibt es einen anderen top
Befehl, der Informationen zur Arbeitsspeicher- / CPU-Auslastung / Betriebszeit auf Maschinen- und Prozessebene auflistet?
(Idealerweise würde ich eine Strategie lieben, die sowohl auf Linux als auch auf Mac OS X portierbar ist, da unsere Entwickler Macs verwenden und unsere Produktumgebung Linux ist.)
quelle
top
OS X das Flag -b unterstützen würde. :-( Leider nicht, und ich sehe keine Version vontop
Homebrew. Dies scheint genau die richtige Antwort für Linux zu sein,/usr/bin/top -l 1
unter OSX 10.9.4 ist perfekt ... danke! Was die Installation von GNU top angeht , könnte ich es auf meinem Computer installieren , aber ich müsste die anderen Entwickler davon überzeugen, es auf ihren Computern zu installieren, damit mein Code für sie funktioniert, also würde ich das lieber vermeiden. (Wenn es nicht über Homebrew verfügbar ist, wird es Widerstand geben.) Jetzt, da ich plattformbasiert wechseln werde, werde ich gierig sein ... kennen Sie ein Windows-Halbäquivalent, also diese Entwickler (wir haben es)? ein paar) können auch eine grobe status seite haben? (Wenn nicht, ist das in Ordnung, Ihre Antwort ist bereits super hilfreich!)top -l 2
die erste Seite der Proben tun und wegwerfen?Um ähnliche Typennummern von einem Windows-System zu erhalten, sollten Sie sich Powershell ansehen.
Nur um eine Liste von Prozessen zu erhalten und zu betrachten
get-process
. Schauen Sie sich diese Referenz an .Bei einigen weiteren Suchen wurde hier ein netter kleiner Befehl gefunden .
Was, wenn Sie aus der vorgestellten while-Schleife herausnehmen, für Ihre Bedürfnisse wäre:
ps
in Powershell ist ein Alias fürget-process
.quelle