Weiterführende Literatur

Weiterführende Literatur

Was ist der Unterschied zwischen den unter psund aufgelisteten Prozessen ps -A?

Antwort1

ohne -Adruckt ps nur die Prozesse aus, die zur aktuellen Sitzung gehören. Stellen Sie es sich als „absolut alles“ vor. In einem verwandten Hinweis -atut es dasselbe, beschränkt es aber auf den Sitzungsbesitzer (Benutzernamen).

Antwort2

Der GNU- psBefehl leidet an einer schweren Form multipler Persönlichkeitsstörung. Es ist also kein Wunder, dass seine Manualpage verwirrend ist. Vielleicht hilft ein Blick in die BSD-Handbücher. Schließlich ist diese FrageIstgetaggt.

Der Betrieb von BSD psist relativ unkompliziert, wenn man zwei Dinge beachtet:

  • Die Auswahl der Prozesse zur Anzeige erfolgt über zwei grundlegende Filter. Diese Filter sindAnstandardmäßig und Befehlszeilenoptionen machen sieaus. Das schlichte, schmucklose Ambiente pswird somit durch beides gefiltert.
  • Die BSD-Syntax hat eine lange Geschichte. Obwohl moderne BSDs getoptdie Konvention verwenden, Optionen mit einem Minuszeichen zu versehen, sind die hier relevanten Optionen und das Verhalten weitgehend dieselben wie vor 30 Jahren.

Dieses Verhalten ist folgendes:

  • Die -a(historische a) Optionschaltet sich ausalle "Selektor"-Filterung.
    • Die verschiedenen anderen Befehlszeilenoptionen geben Selektoren an: -UAuswahl nach UID, -tnach Steuerterminalnamen, -pAuswahl nach Prozess-ID usw. Alle diese werden von umgangen -a.
    • Wenn keine Selektoren explizit angegeben werden,Standardauswahlbesteht darin, nur Prozesse anzuzeigen, die mit derselben effektiven UID wie der Benutzer ausgeführt werden, der aufgerufen hat ps. Dieser Standardselektor ist der historische Filter, den diese Option deaktiviert.
  • Die -x(historische x) Optionschaltet sich ausdie Einschränkung, dass psnur Prozesse angezeigt werden, die über ein steuerndes Terminal verfügen.

psHistorisch gesehen hatte BSD keine AOption. Moderne BSDs implementieren jedoch eine -AOption, die auch als verwendet werden kann A, um (ein gewisses Maß an) Kompatibilität mit der (späteren) Single UNIX Specification zu gewährleisten. -Aist einfach dasselbe wie die Verwendung von -aund -x: Es schaltet beide Beschränkungen aus und lässt alle Prozesse ungefiltert übrig.

OpenBSD und NetBSD dokumentieren die -AOption, im Fall von NetBSD explizit als -a -x. Bei FreeBSD ist dies nicht der Fall, aber ein Kommentar im Quellcode besagt, dass sie als absichtlich undokumentierte SUSv5-Kompatibilitätsoption vorhanden ist.

Weiterführende Literatur

  • ps13.04.1983. 4.2BSD-Handbuchseiten.
  • psOpenBSD-Handbuchseiten.
  • ps22.10.2009. NetBSD-Handbuchseiten.
  • ps07.08.2014. FreeBSD-Handbuchseiten.

verwandte Informationen