모든 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 문자가 반환됩니다. 명령줄 인수는 이 파일에 널 바이트('\0')로 구분된 문자열 세트로 표시되며 마지막 문자열 뒤에는 널 바이트가 옵니다.

관련 정보