Welche Flags des Befehls „ps“ sind für das Unix-Flagsformat und welche Flags sind für das BSD-Flagsformat?

Welche Flags des Befehls „ps“ sind für das Unix-Flagsformat und welche Flags sind für das BSD-Flagsformat?

Der psBefehl kann Flags in zwei Formaten annehmen:

  • Das Unix-Format, bei dem Sie den Flags einen Bindestrich voranstellen sollten.
  • Das BSD-Format, bei dem Sie den Flags keinen Bindestrich voranstellen sollten.

Ich habe diemanpagefür den psBefehl, um zu sehen, welche Flags für das Unix-Flagsformat und welche Flags für das BSD-Flagsformat sind, aber ich habe nichts gefunden.


Bearbeiten:dies ist kein Duplikat. In der anderen Frage frage ich, ob die Flags für das Unix- und BSD-Flagsformat unterschiedlich sind, während ich in dieser Frage frage, was die Flags für das Unix-Flagsformat und was die Flags für das BSD-Flagsformat sind.

Antwort1

Dermanpagegruppiert Optionen nicht nach Stil, sondern nach Funktion. Sie können den Stil unterscheiden, indem Sie sich ansehen, wie die Optionen präsentiert werden:

  • BSD-Optionen werden ohne vorangestellten Bindestrich ( a, g, T, r, x...) aufgelistet.
  • -APOSIX-Optionen werden mit einem einzelnen vorangestellten Bindestrich ( , -a, -d, -e, -N...) aufgelistet .
  • Lange GNU-Optionen werden mit zwei vorangestellten Bindestrichen ( ...) aufgelistet --deselect.

Wie Kusalananda vorschlägt, ist es eine gute Idee, nur POSIX-Optionen zu verwenden und nur dann auf die anderen Optionen zu verweisen, wenn Sie die Verwendung von durch eine andere Person verstehen müssen ps.

Antwort2

Der POSIX-Standardbeschreibt das psDienstprogrammmit folgender Inhaltsangabe:

ps [-aA] [-defl] [-g grouplist] [-G grouplist]
   [-n namelist] [-o format]... [-p proclist] [-t termlist]
   [-u userlist] [-U userlist]

Da offensichtlich eine gewisse Verwirrung bezüglich der „UNIX-Optionen“ und der „BSD-Optionen“ für besteht psund da OpenBSD, NetBSD, FreeBSD und macOS die „BSD-Optionen“ (Flags ohne Bindestrich) in ihren Handbüchern für nicht einmal auflisten ps, ist es vielleicht besser, sie zu vergessen und sie als Teil eines abgeschlossenen Kapitels in der Geschichte von UNIX zu betrachten?

Im Abschnitt „POSIX-Begründung“ psheißt es zwar, dass zwischen System V-basierten Unices und BSD-basierten Unices Inkompatibilitäten hinsichtlich der Implementierung von ps(und der Gründe für die Standardisierung der Flags auf diese Weise) bestehen, aber Flags ohne Bindestrich werden an keiner Stelle erwähnt.

Als Referenz:

Antwort3

PS unterstützt drei (3) Arten von Verwendungssyntaxstilen:

  • UNIX-Stil, der gruppiert werden kann und dem ein Bindestrich vorangestellt werden muss - zBps -aux
  • BSD-Stil, der gruppiert werden kann und nicht mit einem Bindestrich verwendet werden darf - zBps aux
  • GNU-Langoptionen, denen zwei Bindestriche vorangestellt sind, z. B.ps --aux

verwandte Informationen