すべてのOracleプロセスが/ proc /を読み取るのはなぜですか?/ cmdlineマルチシステムプロセス?

すべてのOracleプロセスが/ proc /を読み取るのはなぜですか?/ cmdlineマルチシステムプロセス?

私はoracleプロセスを探索しており、lsof出力です。私はそれが何であるか知りたいです/proc/<pid>/cmdline。 Oracleの各プロセスに対して、145個の同じcmdlineオープンファイルを表示します。

もしそうなら、これはまさに何ですか?

たとえば、

#lsof -u oracle | grep cmdline
oracle   2664 oracle   17r   REG                0,3         0   9492 /proc/1/cmdline
oracle   2664 oracle   18r   REG                0,3         0   9495 /proc/2/cmdline
.
.
.
oracle  12586 oracle  160r   REG                0,3         0  20528 /proc/2614/cmdline
oracle  12586 oracle  161r   REG                0,3         0  20529 /proc/2662/cmdline



# lsof -u oracle | grep cmdline | awk '{print $2}' | sort | uniq -c
145 12297
145 2664
145 2666
145 2670
145 2672
145 2674
145 2676
145 2678
145 2680
145 2682
145 2684
145 2686
145 2688
145 2690
145 2692
145 2694
145 2696
145 2698
145 2700
145 2702
145 2775
145 2777
145 2795
145 2799
145 2900
145 6323

ベストアンサー1

マニュアルページからproc(5)

/proc/[pid]/cmdline

この読み取り専用ファイルは、プロセスがゾンビプロセスでない限り、プロセスの完全なコマンドラインを保存します。後者の場合、ファイルには何もありません。つまり、ファイルを読み取るとゼロ文字が返されます。コマンドライン引数は、このファイルにヌルバイト( '\ 0')で区切られた文字列のセットで表され、最後の文字列の後にはヌルバイトが続きます。

おすすめ記事