나는 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')로 구분된 문자열 세트로 표시되며 마지막 문자열 뒤에는 널 바이트가 옵니다.