私は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')で区切られた文字列のセットで表され、最後の文字列の後にはヌルバイトが続きます。