리눅스의 핵심 원칙 중 하나는 모든 것을 파일로 취급한다는 것입니다. 이 개념은 실행 중인 프로세스에도 적용되며, 이 프로세스 정보는 /proc라고 불리는 특수한 가상 파일시스템에 동적으로 저장됩니다.
/proc 디렉토리 탐색
/proc 파일시스템은 하드 드라이브에 있는 실제 파일시스템이 아니라 커널이 메모리에 생성하는 것입니다. 이는 커널의 내부 데이터 구조와 시스템 상태를 들여다볼 수 있는 창을 제공합니다.
그 내용을 보려면 내부의 파일과 디렉토리를 나열할 수 있습니다:
ls /proc
그러면 많은 숫자로 된 디렉토리가 보일 것입니다. 각 숫자는 현재 실행 중인 프로세스의 프로세스 ID(PID) 에 해당합니다. 또한 cpuinfo 및 meminfo와 같이 시스템 하드웨어 정보를 제공하는 다른 파일들도 찾을 수 있습니다.
특정 프로세스 정보 접근
ps와 같은 명령어로 PID 를 식별했다면, /proc에서 해당 디렉토리를 찾아 더 자세한 정보를 얻을 수 있습니다. 예를 들어, PID 가 12345 인 프로세스를 검사하려면 해당 프로세스의 상태 파일을 확인할 수 있습니다:
cat /proc/12345/status
이 명령은 프로세스의 상태 (예: 절전, 실행 중), 메모리 사용량, 사용자 ID 를 포함한 자세한 정보를 표시합니다. /proc 디렉토리는 커널이 프로세스를 직접 보는 뷰를 제공하며, 표준 도구보다 훨씬 많은 데이터를 제공합니다.
시스템 데이터 대시보드
/proc 파일시스템을 많은 시스템 모니터링 도구의 원시 데이터 소스라고 생각하십시오. top, ps, htop과 같은 유틸리티는 /proc에서 읽어와 정보를 사용자 친화적인 형식으로 표시합니다. 여기에는 이러한 도구가 기본적으로 표시하지 않을 수 있는 풍부한 추가 세부 정보가 포함되어 있습니다.
/proc 내의 파일에 직접 액세스함으로써, 필요에 맞게 사용자 지정 스크립트나 모니터링 대시보드를 구축하기 위한 특정 메트릭을 수집할 수 있습니다. 이는 리눅스 시스템의 내부 작동 방식을 관찰하고 이해하기 위한 강력한 인터페이스입니다.