Wie kann ich sehen, welche Prozesse ausgeführt werden?


21

Ich verwende Ubuntu Server 10.10 und möchte sehen, welche Prozesse ausgeführt werden. Ich weiß, dass PostgreSQL auf meinem Computer ausgeführt wird, kann es jedoch nicht mit den Befehlen topoder psanzeigen. Daher gehe ich davon aus, dass nicht alle ausgeführten Prozesse angezeigt werden. Gibt es einen anderen Befehl, der alle laufenden Prozesse anzeigt, oder gibt es andere Parameter, die ich mit topoder psfür diesen verwenden kann?

Antworten:


26

Von der psManpage:

-e Alle Prozesse auswählen. Identisch mit -A.

Somit ps -ewerden alle Prozesse angezeigt. Die gebräuchlichen Optionen für "Gib mir alles" sind ps -elyoder ps aux, letzteres ist der BSD-Stil. Oft grepleiten die Leute diese Ausgabe dann weiter , um nach einem Prozess zu suchen, wie in der Antwort von Xenoterracide. Um zu vermeiden, dass Sie sich grepselbst in der Ausgabe sehen, sehen Sie häufig Folgendes:

 ps -ef | grep [f]oo

wo foo ist der Prozessname, den Sie suchen.

Wenn Sie jedoch nach einem bestimmten Prozess suchen, empfehle ich, den pgrepBefehl zu verwenden, falls er verfügbar ist. Ich glaube, es ist auf Ubuntu Server verfügbar. Verwenden pgrepbedeutet, dass Sie die oben genannten Rennbedingungen vermeiden. Es bietet auch einige andere Funktionen, deren grepReplikation immer komplizierter werden würde . Die Syntax ist einfach:

pgrep foo

wo foo ist der prozess, nach dem du suchst. Standardmäßig wird lediglich die Prozess-ID (PID) des Prozesses ausgegeben, sofern er eine findet. Siehe man pgrepfür weitere Ausgabeoptionen. Ich fand die folgende Seite sehr hilfreich:

http://mywiki.wooledge.org/ProcessManagement


Ich frage mich, wie viel Prozent der Menschen verwenden, psohne die Flaggen zu kennen. Ich werfe einfach auximmer drauf; Ich habe keine Ahnung, was die einzelnen Flags tatsächlich steuern
Michael Mrozek

3

haben Sie versucht ps aux | grep postgres? es sollte sich wirklich zeigen, wenn postgres läuft. Wenn nicht ... woher weißt du, dass Postgres läuft?

(Hinweis: Es ist ein weit verbreitetes Missverständnis, dass es ist, ps -auxaber das ist nicht richtig)


Dank, ps auxbesser funktioniert, zeigte es rund 70 Prozesse, während psnur zwei zeigten. Ich weiß, dass PostgreSQL ausgeführt wurde, da ich sah, dass es beim Booten gestartet und beim Herunterfahren gestoppt wurde.
Jonas

@ Jonas einige Init-Skripte sind schlecht geschrieben. Glauben Sie ihnen nicht, nur weil sie sagen, dass etwas gestartet und gestoppt wurde. Nur ein Tipp
Xenoterracide

Es gibt auch pgrepdafür, was den Vorteil hat, dass Ihr ps aux | grep postgresBefehl niemals selbst in der Prozessliste abgefangen und ausgegeben wird
Michael Mrozek
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.