/proc 파일 시스템 에 대한 공유

7223 단어 linuxshellproc
Linux 는 특수 한 파일 시스템 procfs 를 제공 합 니 다. 이 디 렉 터 리 는 보통/proc 디 렉 터 리 로 표 시 됩 니 다. 이 디 렉 터 리 는 드라이버 와 커 널 정 보 를 더 높 은 수준 으로 접근 할 수 있 는 특수 파일 을 많이 포함 하고 있 습 니 다. 권한 만 있 으 면 이 파일 을 읽 을 수 있 고 정보 와 파 라 메 터 리 를 얻 을 수 있 습 니 다.
다음은 제 Liux 환경 에 표 시 된 디 렉 터 리 항목 입 니 다.
1/     1442/  1935/  2193/  31/    699/       cgroups        mounts@10/    1465/  1943/  2199/  32/    7/         cmdline        mtrr1002/  149/   1945/  22/    3228/  703/       consoles       net@1028/  15/    1952/  2208/  33/    74/        cpuinfo        pagetypeinfo1047/  150/   1959/  2210/  34/    75/        crypto         partitions1056/  1595/  1968/  2222/  35/    751/       devices        sched_debug1076/  16/    1983/  2228/  36/    766/       diskstats      schedstat11/    17/    1999/  2230/  37/    767/       dma            scsi/1133/  1770/  2/     2292/  3715/  783/       driver/        self@1144/  1772/  20/    2294/  38/    8/         execdomains    slabinfo1147/  18/    2002/  23/    389/   802/       fb             softirqs1150/  1827/  2003/  2302/  39/    805/       filesystems    stat1151/  1835/  2005/  2314/  394/   842/       fs/            swaps1152/  1843/  2007/  2319/  398/   847/       interrupts     sys/1183/  1848/  2011/  2325/  40/    853/       iomem          sysrq-trigger1184/  1858/  2012/  2338/  4033/  854/       ioports        sysvipc/1185/  1866/  2017/  2341/  4054/  858/       ipmi/          timer_list1192/  1873/  2024/  2360/  4060/  868/       irq/           timer_stats12/    1878/  2041/  24/    4063/  9/         kallsyms       tty/1205/  1879/  2080/  2472/  4070/  919/       kcore          uptime122/   1880/  2087/  25/    4071/  926/       key-users      version123/   1884/  2096/  2507/  4128/  928/       kmsg           version_signature124/   1886/  21/    2599/  430/   943/       kpagecount     vmallocinfo125/   1891/  2102/  27/    5/     954/       kpageflags     vmstat1253/  1898/  2107/  273/   52/    980/       latency_stats  zoneinfo127/   19/    2112/  279/   54/    992/       loadavg129/   1901/  2123/  28/    564/   acpi/      locks13/    1902/  2167/  2833/  579/   asound/    mdstat134/   1907/  2173/  29/    619/   ati/       meminfo1389/  1915/  2179/  3/     620/   buddyinfo  misc14/    1919/  2189/  30/    667/   bus/       modules 는 대부분의 경우 이 파일 들 을 직접 읽 으 면 해당 하 는 정 보 를 얻 을 수 있 습 니 다.
예 를 들 어/proc/cpuinfo 에서 제공 하 는 것 은 CPU 의 상세 한 정보 입 니 다.
cat /proc/cpuinfo

다음 과 같은 결 과 를 얻 었 습 니 다.
processor    : 0vendor_id    : AuthenticAMDcpu family    : 20model        : 2model name    : AMD E-450 APU with Radeon(tm) HD Graphicsstepping    : 0microcode    : 0x500010dcpu MHz        : 1650.000cache size    : 512 KBphysical id    : 0siblings    : 2core id        : 0cpu cores    : 2apicid        : 0initial apicid    : 0fpu        : yesfpu_exception    : yescpuid level    : 6wp        : yes
.......
해당 설비 정 보 를 쉽게 얻 을 수 있 습 니 다.
유사 한: meninfo 파일 의 메모리 획득 상황
cat /proc/meminfo

결 과 는 다음 과 같다.
MemTotal:        3640808 kBMemFree:         1281028 kBBuffers:          142600 kBCached:           975236 kBSwapCached:            0 kBActive:          1226752 kBInactive:         757936 kBActive(anon):     867924 kBInactive(anon):     6904 kBActive(file):     358828 kBInactive(file):   751032 kBUnevictable:          32 kBMlocked:              32 kBSwapTotal:       4194272 kB.........
이 파일 들 의 내용 을 읽 을 때마다 제공 하 는 정 보 는 업 데 이 트 됩 니 다.
실행 중인 프로그램의 정 보 를 제공 하기 위해/proc 디 렉 터 리 에서 숫자 이름 을 가 진 폴 더 를 많이 볼 수 있 습 니 다.이 숫자 들 은 프로 세 스 의 PID 입 니 다. ps - a 명령 을 실행 하 는 것 처럼:
  PID TTY          TIME CMD 4151 pts/1    00: 00: 00 ps 진일보 한 정 보 를 보 겠 습 니 다.
fireforx 를 예 로 들 면 두 가지 명령 을 먼저 실행 합 니 다.
ps -x | grep "firefox"

이 명령 은 firfox 프로 세 스 의 PID 를 가 져 오 는 데 사 용 됩 니 다. 결 과 는 다음 과 같 습 니 다.
2341 ?        Sl    45:25/usr/lib/firefox/firefox
ls -l /proc/2341/

PID 를 통 해/proc 에 대응 하 는 디 렉 터 리 보기
dr-xr-xr-x  2 mybc724 mybc724 0  7 월 17 일 10: 54 attr - rw - r - r -  1 mybc724 mybc724 0  7 월 17 일 10: 54 autogroup - r ----  1 mybc724 mybc724 0  7 월 17 일 10: 54 auxv - r -- r - r --  1 mybc724 mybc724 0  7 월 17 일 10: 54 cgroup -- w --- ---  1 mybc724 mybc724 0  7 월 17 10: 54 clearrefs-r--r--r--  1 mybc724 mybc724 0  7 월 17 일 08: 06 cmdline - rw - r - r  1 mybc724 mybc724 0  7 월 17 일 10: 54 comm - rw - r - r -  1 mybc724 mybc724 0  7 월 17 10: 54 coredumpfilter-r--r--r--  1 mybc724 mybc724 0  7 월 17 10: 54 cpusetlrwxrwxrwx  1 mybc724 mybc724 0  7 월 17 일 08: 07 cwd ->/home/mybc 724 - r - ---  1 mybc724 mybc724 0  7 월 17 10: 54 environlrwxrwxrwx  1 mybc724 mybc724 0  7 월 17 일 08: 06 exe ->/usr/lib/firefox/firefox...
안에 열 거 된 정보 가 매우 상세 하 다 는 것 을 알 수 있 습 니 다. 위의 결 과 를 보면/usr/lib/firefox/fireforx 프로그램 이 실행 되 고 있 습 니 다. cwd ->/home/my bc 724 는 현재 작업 디 렉 터 리 입 니 다. cmdline 과 environ 을 보면 시작 명령 과 셸 환경 을 얻 을 수 있 습 니 다. 더 많은 정 보 는 여러분 이 스스로 발굴 할 수 있 습 니 다.
다음은 정리 입 니 다.
커 널 정보:
/proc/cmdline: 시작 할 때 커 널 에 전 달 된 매개 변수 정보,이 정 보 는 보통 lilo 나 grub 등 시작 관리 도구 로 전 달 됩 니 다./proc/cpuinfo: 프로세서 에 관 한 정보/proc/crypto: 시스템 에 설 치 된 커 널 에서 사용 하 는 암호 알고리즘 및 각 알고리즘 에 대한 상세 한 정보 목록/proc/devices: 시스템 에 불 러 온 모든 블록 설정 과 문자 장치 의 정보/proc/diskstats: 각 디스크 장치 의 디스크 I/O 통계 정보 목록/proc/dma: 현재 커 널 에서 지원 하 는 파일 시스템 형식 목록 파일 입 니 다. nodev 로 표 시 된 파일 시스템 은 블록 장치 의 지원 이 필요 하지 않 음 을 표시 합 니 다.보통 mount 장치 가 있 을 때 지정 한 파일 시스템 형식 이 없 으 면 이 파일 을 통 해 필요 한 파일 시스템 의 종 류 를 결정 합 니 다./proc/iomem: 모든 물리 장치 의 메모리 (RAM 또는 ROM) 가 시스템 메모리 에 있 는 맵 정보/proc/meminfo: 시스템 에서 이전 메모리 의 이용 상황 등에 대한 정보,free 명령 으로 자주 사용/proc/mounts: 이 파일 의 내용 은 시스템 에 현재 마 운 트 된 모든 파일 시스템/proc/modules 입 니 다. 현재 커 널 을 불 러 온 모든 모듈 이름 목록 은 lsmod 명령 으로 사용 할 수 있 으 며, 직접 볼 수 있 습 니 다/proc/paritions: 블록 장치 각 파 티 션 의 주 장치 번호 (major) 와 차 장치 번호 (minor) 등 정 보 를 볼 수 있 습 니 다.또한 각 파 티 션 에 포 함 된 블록 (block) 수/proc/slabinfo: 대상 관련 slap 정보/proc/uptime: 시스템 이 지난번 에 시 작 된 운행 시간 은 다음 과 같 습 니 다. 첫 번 째 숫자 는 시스템 운행 시간 을 나타 내 고 두 번 째 숫자 는 시스템 의 여가 시간 을 나타 내 며 단 위 는 초 입 니 다.proc/version: 현재 시스템 에서 실행 중인 커 널 버 전 번호 사용자 프로 세 스 정보: cmdline - 현재 프로 세 스 를 시작 하 는 전체 명령 이지 만 좀 비 프로 세 스 디 렉 터 리 에 있 는 이 파일 은 정보 cwd 를 포함 하지 않 습 니 다. 현재 프로 세 스 실행 디 렉 터 리 를 가리 키 는 심 볼 릭 링크 exe - 이전 프로 세 스 를 시작 할 실행 가능 한 파일 (전체 경로) 을 가리 키 는 심 볼 릭 링크 입 니 다./proc/N/exe 를 통 해 현재 프로 세 스 의 복사 fd 를 시작 할 수 있 습 니 다. 이것 은 디 렉 터 리 입 니 다. 현재 프로 세 스 가 열 린 모든 파일 을 포함 하 는 파일 설명자 (file descriptor) 입 니 다. 이 파일 설명 자 는 실제 파일 을 가리 키 는 심 볼 릭 링크 limits 입 니 다. 현재 프로 세 스 가 사용 하 는 모든 제 한 된 자원 의 소프트 제한, 하 드 제한 과 관리 부 입 니 다.이 파일 은 현재 프로 세 스 를 실제 시작 한 UID 사용자 만 읽 을 수 있 습 니 다.(2.6.24 이후 의 커 널 버 전 은 이 기능 을 지원 합 니 다).maps - 현재 프로 세 스 와 연 결 된 모든 실행 가능 한 파일 과 라 이브 러 리 파일 이 메모리 에 있 는 맵 영역 과 접근 권한 으로 구 성 된 목록;mem - 현재 프로 세 스 가 사용 하 는 메모리 공간 은 open, read, lseek 등 시스템 에서 호출 되 어 사용 되 며 사용자 가 읽 을 수 없습니다.루트 - 현재 프로 세 스 가 루트 디 렉 터 리 를 실행 하 는 심 볼 릭 링크 를 가리 키 기;stat - 현재 프로 세 스 의 상태 정 보 는 시스템 포맷 후의 데이터 열 을 포함 하고 가 독성 이 떨 어 지 며 보통 ps 명령 에 의 해 사 용 됩 니 다.statm - 현재 프로 세 스 가 메모 리 를 차지 하 는 상태 정 보 는 보통 '페이지' (page) 로 표 시 됩 니 다.status - stat 가 제공 하 는 정보 와 유사 하지만 가 독성 이 좋 은 task - 디 렉 터 리 파일 은 현재 프로 세 스 가 실행 하 는 모든 스 레 드 에 대한 정 보 를 포함 합 니 다. 모든 스 레 드 에 관 한 정보 파일 은 스 레 드 번호 (tid) 로 명 명 된 디 렉 터 리 에 저 장 됩 니 다. 이 는 모든 프로 세 스 디 렉 터 리 와 유사 한 내용 입 니 다.

좋은 웹페이지 즐겨찾기