
私は「ps aux」のすべての出力ヘッダーを提供しますが、PPIDを含むps文字列を探しています。これまでは、ps -efを使用してのみPPID列を取得できます。いろいろな組み合わせを試してみましたが、私の目標を達成する組み合わせを見つけることができませんでした。これは可能ですか?
答え1
今、私たちはあなたがどんな人なのかを知っています。本物思う…
-o
必要なフィールドを選択するために使用されます。たとえば、
$ ps -eo pid,ppid,%cpu,%mem,args
PID PPID %CPU %MEM COMMAND
1 0 0.0 0.0 /usr/lib/systemd/systemd --system --deserialize 22
...more procs...
1522 3205 0.0 0.0 nginx: worker process
1523 3205 0.0 0.0 nginx: worker process
1525 3205 0.0 0.0 nginx: worker process
1527 3205 0.0 0.0 nginx: worker process
1528 3205 0.0 0.0 nginx: worker process
1529 3205 0.0 0.0 nginx: worker process
3205 1 0.0 0.0 nginx: master process /usr/sbin/nginx
...more procs...
利用可能なフィールドの完全なリストはマニュアルページにあります。
答え2
オプション「-l」または「-j」ですか? (「ps」のバージョンによって異なります)https://www.freebsd.org/cgi/man.cgi?ps(1)
答え3
私は解決策を見つけたようです(まだ必要な人がいる場合)。 RHEL/CentOS および派生製品では、以下を試してください# ps -fwaux
。すべてのプロセスを表示しますが、その親プロセスの下に子プロセスを一覧表示します。これにより、プロセスをソースに関連付けるためにPPID列が不要になります。これが役に立つことを願っています...乾杯!