ps:エラー:フォーマットオプションが競合しています。

ps:エラー:フォーマットオプションが競合しています。
$ ps  -l -o ruid,euid,rgid,egid,sess -p $$ 
error: conflicting format options

Usage:
 ps [options]

 Try 'ps --help <simple|list|output|threads|misc|all>'
  or 'ps --help <s|l|o|t|m|a>'
 for additional help text.

For more details see ps(1).


$ ps  -F -o ruid,euid,rgid,egid,sess -p $$ 
error: conflicting format options

Usage:
 ps [options]

 Try 'ps --help <simple|list|output|threads|misc|all>'
  or 'ps --help <s|l|o|t|m|a>'
 for additional help text.

For more details 

$ ps  -w -o ruid,euid,rgid,egid,sess -p $$ 
 RUID  EUID  RGID  EGID  SESS
 1000  1000  1000  1000  5678

どのフォーマットオプションが互いに衝突するのか疑問に思います。

これらのエラーを回避するにはどうすればよいですか?

同じエラーなしで3番目のコマンドが成功するのはなぜですか?

ただ現在のプロセスに関する追加情報を表示したいので、を通じて-Fl指定されたいくつかのフィールドを使用して作業します-o

ありがとうございます。

答え1

これは文書では明確ではありませんが、-o他のほとんどの書式指定子と競合します。つまり出力用に選択される列を決定するオプション(Unixスタイルでは、、、; -F、および、-j-l-f-M次へ追加選択に記載されている必要があります-o)と競合しないでください。その理由は、列リストを明示的に指定すると、事前定義された型も使用できないためです。

-w-oフォーマット制御ではなく出力制御なので使用できます。選択した列の出力を変更します。

便利かもしれません-O。同様に動作します-oが、いくつかの定義済み列(プロセス識別子、状態、TTY、実行時間、およびコマンドライン)を追加します。

関連情報