ps:出力修飾子と出力フォーマットの制御

ps:出力修飾子と出力フォーマットの制御

存在するマンページps

-j 場所の形式。

-f 完全な形式のリストを作成してください。

-o format カスタム形式。

$ ps -j -o ppid,sid
error: can not use output modifiers with user-defined output

$ ps -f -o ppid,sid
 PPID   SID
 3046 23122
 3046  1002
 1002  1002
 3046 13961
...

何ですか出力修飾子意味は?マンページではps、および ではなく、-j以下にリストされています。-f-oOUTPUT FORMAT CONTROLOUTPUT MODIFIERS

一般に、出力フォーマット制御オプションと比較して出力修飾子をどのように使用しますか?

出力修飾子はオプションですか、それともパラメータですか?

ベストアンサー1

これは誤解を招くエラーメッセージのようです。

procpsソースコードを見ると、common.h290番国道:

extern unsigned        format_modifiers; /* -c -j -y -P -L... */

-jformat_modifiers設定する暗黙のフラグ、カスタム出力とともに使用するとエラーが発生します。:

if(format_list){
  if(format_flags) return "Conflicting format options.";
  if(format_modifiers) return "Can't use output modifiers with user-defined output";
  if(thread_flags&TF_must_use) return "-L/-T with H/m/-m and -o/-O/o/O is nonsense";
  return NULL;
}

このニュース出力は利用できません型修飾子カスタム出力ありより良くなります。


FreeBSDにはpsこの問題はありません。 Cause 印刷-jオプションを使用すると、出力が集計されます。psuser, pid, ppid, pgid, sid, jobc, state, tt, time, and command-o

$ ps -j -o ppid,sid
USER     PID PPID PGID  SID JOBC STAT TT     TIME COMMAND          PPID  SID
cuonglm 1196 1195 1196 1196    0 Ss    0  0:00.02 -sh (sh)         1195 1196
cuonglm 1233 1196 1233 1196    1 R+    0  0:00.00 ps -j -o ppid,si 1196 1196

出力修飾子制御どのように情報表示・出力形式制御制御情報が表示されます。

たとえば、オプションは出力sにプロセス信号情報を追加するため、出力フォーマット制御です。ps

$ ps s
  UID   PID          PENDING          BLOCKED          IGNORED           CAUGHT STAT TTY        TIME COMMAND
 1000 12831 0000000000000000 0000000000000002 0000000000384004 0000000188013003 Ss   pts/1      0:00 zsh
 1000 13067 0000000000000000 0000000000000000 0000000000000000 0000000073d3fef9 R+   pts/1      0:00 ps s

f出力表示方法を変更するため、出力修飾子です。

$ ps f
  PID TTY      STAT   TIME COMMAND
12831 pts/1    Ss     0:00 zsh
13238 pts/1    R+     0:00  \_ ps f

この出力は階層として表示されます。

おすすめ記事