it-swarm.com.de

Wie untersuche ich Prozesse im Terminal von OS X?

Ich möchte Informationen zu Prozessen anzeigen, die unter OS X ausgeführt werden. Wenn Sie ps im Terminal ausführen, werden nur die geöffneten Terminalfenster aufgelistet. Wie kann ich alle laufenden Prozesse sehen?

Angenommen, ich verwende einen Webbrowser, ein Terminal und einen Texteditor. Ich möchte Informationen für den Texteditor und den Webbrowser sehen.

62
SundayMonday

Sie können einfach top verwenden. Es wird alles angezeigt, was auf Ihrem OSX läuft

46
camilo_u

Laufen ps -e macht den Trick. Fand die Antwort hier .

60
SundayMonday

Die Verwendung von top und ps ist in Ordnung, aber ich finde, dass die Verwendung von htop weitaus besser ist & klarer als die Standard-Tools, die Mac OS X verwendet. Meine Lieblingsanwendung ist es, die Taste T zu drücken, während sie ausgeführt wird, um Prozesse in der Baumansicht anzuzeigen (siehe Screenshot). Zeigt Ihnen, welche Prozesse von anderen Prozessen abhängig sind.

htop on OSX

Sie können es von Homebrew installieren, indem Sie Folgendes verwenden:

brew install htop

Und wenn Sie Xcode und verwandte Tools wie git auf Ihrem System installiert haben und den neuesten Entwicklungscode aus dem offiziellen Quell-Repository installieren möchten - folge einfach diesen Schritten.

Klonen Sie zuerst den Quellcode aus dem GitHub-Repository htop:

git clone [email protected]:hishamhm/htop.git

Gehen Sie nun in das Repository-Verzeichnis:

cd htop

Lauf autogen.sh:

./autogen.sh

Führen Sie diesen configure Befehl aus:

./configure

Führen Sie nach Abschluss des Prozesses configuremake aus:

make

Zum Schluss installieren Sie es mit Sudo make install:

Sudo make install
43
JakeGould

Versuchen ps -ef. man ps gibt Ihnen alle Optionen.

 -A      Display information about other users' processes, including those without controlling terminals.

 -e      Identical to -A.

 -f      Display the uid, pid, parent pid, recent CPU usage, process start time, controlling tty, elapsed CPU usage, and the associated command.  If the -u option is also used, display
         the user name rather then the numeric uid.  When -o or -O is used to add to the display following -f, the command field is not truncated as severely as it is in other formats.
19
Dave

Versuchen Sie es mit dem Befehl top. Es ist ein interaktiver Befehl, der die laufenden Prozesse anzeigt.

Sie können auch die Apples "Activity Monitor" -Anwendung verwenden (in /Applications/Utilities/).

Es bietet eine eigentlich ganz nette GUI. Sie können alle laufenden Prozesse anzeigen, nach Benutzern filtern, erweiterte Informationen über sie abrufen (CPU, Speicher, Netzwerk usw.), sie überwachen usw.

Wahrscheinlich die beste Wahl, es sei denn, Sie möchten sich an das Terminal halten (lesen Sie in einem solchen Fall das Handbuch zu top oder ps, da diese Befehle eine Reihe von Optionen enthalten).

7
Macmade

So sortieren Sie nach CPU-Auslastung: top -o cpu

4
Toe

wenn Sie ps verwenden, können Sie das Handbuch überprüfen

man ps

es gibt eine Liste mit Schlüsselwörtern, mit denen Sie das erstellen können, was Sie benötigen. Beispiel: Benutzer-ID/Prozess-ID/Prozent CPU/Prozent Arbeitsspeicher/Arbeitswarteschlange/Befehl:

ps -e -o "uid pid pcpu pmem wq comm"

-e ähnelt -A (all inclusive; Ihre Prozesse und andere), und -o erzwingt ein Format.

wenn Sie nach einer bestimmten UID suchen, können Sie sie mit awk oder grep wie folgt verketten:

ps -e -o "uid pid pcpu pmem wq comm" | grep 501

dies sollte (fast) nur für Benutzer-ID 501 angezeigt werden. Probieren Sie es aus.

0
Jimmy M.G. Lim