psの-pオプション

psの-pオプション

-pLinuxでこのオプションを省略すると、ps数値が暗黙的に提供されます。

man ps説明する

      123    Identical to --pid 123.

そして

      --pid pidlist
             Select by process ID.  Identical to -p and p.

しかし、まだ別の出力を提供します。

test@debian:~$ ps 26379
  PID TTY      STAT   TIME COMMAND
26379 pts/14   Ss     0:00 bash
test@debian:~$ ps -p 26379
  PID TTY          TIME CMD
26379 pts/14   00:00:00 bash

これはどこかに文書化されていますか?

答え1

これは実装によって異なりますps

少なくともFreeBSD PSそしてprocps ps、Linuxで使用:

1   UNIX options, which may be grouped and must be preceded by a dash.
2   BSD options, which may be grouped and must not be used with a dash.
3   GNU long options, which are preceded by two dashes.

だからあなたがするとき:

ps 123

psBSDスタイルが必要であると仮定し、出力プロセスステータス列に追加し、実行可能ファイル名の代わりにSTATコマンドargsを表示します。 SysVスタイルが欲しいとし、を使用してください。COMMANDCMD-p 123ps


Mac OSX psこの動作は実装によって文書化されていませんが、FreeBSDと同様に動作しますps


多くの実装では、次のように基本スタイルをオーバーライドできます。PS_FORMAT変える:

# SysV style when using dash `-` in arguments
$ ps -p 1
    PID TTY          TIME CMD
      1 ?        00:00:01 systemd

# Force BSD style even using dash `-` in arguments
$ PS_FORMAT=DefBSD ps -p 1
    PID TTY      STAT   TIME COMMAND
      1 ?        Ss     0:01 /sbin/init

関連情報