Nesploraw /proc File System fil-Linux


Illum, se nagħtu ħarsa ġewwa d-direttorju/proc u niżviluppaw familjarità miegħu. Id-direttorju /proc huwa preżenti fis-sistemi Linux kollha, irrispettivament mit-togħma jew l-arkitettura.

Kunċett żbaljat li rridu niċċaraw immedjatament huwa li d-direttorju/proc MHUX Sistema ta 'Fajl reali, fis-sens tat-terminu. Hija Sistema ta' Fajl Virtwali. Fi ħdan il-procfs hemm informazzjoni dwar proċessi u informazzjoni oħra tas-sistema. Huwa mmappjat għal/proc u mmuntat fil-ħin tal-ibbutjar.

L-ewwel, ejja nidħlu fid-direttorju/proc u nagħtu ħarsa madwar:

# cd /proc

L-ewwel ħaġa li tinnota hija li hemm xi fajls ħoss familjari, u mbagħad mazz sħiħ ta 'direttorji numerati. Id-direttorji numerati jirrappreżentaw proċessi, magħrufa aħjar bħala PIDs, u fi ħdanhom, kmand li jokkupahom. Il-fajls fihom informazzjoni tas-sistema bħal memorja (meminfo), informazzjoni dwar CPU (cpuinfo), u sistemi ta' fajls disponibbli.

Aqra wkoll:  Kmand Ħieles tal-Linux biex Iċċekkja l-Memorja Fiżika u l-Iskambju tal-Memorja

Ejja nagħtu ħarsa lejn wieħed mill-fajls l-ewwel:

# cat /proc/meminfo

li jirritorna xi ħaġa simili għal din:

MemTotal:         604340 kB
MemFree:           54240 kB
Buffers:           18700 kB
Cached:           369020 kB
SwapCached:            0 kB
Active:           312556 kB
Inactive:         164856 kB
Active(anon):      89744 kB
Inactive(anon):      360 kB
Active(file):     222812 kB
Inactive(file):   164496 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:         89724 kB
Mapped:            18012 kB
Shmem:               412 kB
Slab:              50104 kB
SReclaimable:      40224 kB
...

Kif tistgħu taraw, /proc/meminfo fih ħafna informazzjoni dwar il-memorja tas-sistema tiegħek, inkluż l-ammont totali disponibbli (f'kb) u l-ammont ħieles fuq iż-żewġ linji ta 'fuq.

It-tħaddim tal-kmand tal-qtates fuq kwalunkwe fajl f'/proc joħroġ il-kontenut tagħhom. Informazzjoni dwar kwalunkwe fajl hija disponibbli fil-paġna man billi tħaddem:

# man 5 /proc/<filename>

Se nagħtikom deskrizzjoni ta' malajr fuq il-fajls ta' /proc:

  1. /proc/cmdline – Informazzjoni tal-linja tal-kmand tal-kernel.
  2. /proc/console – Informazzjoni dwar consoles attwali inkluż tty.
  3. /proc/devices – Drivers tat-tagħmir bħalissa kkonfigurati għall-kernel li qed jaħdem.
  4. /proc/dma – Informazzjoni dwar il-kanali DMA attwali.
  5. /proc/fb – Apparati Framebuffer.
  6. /proc/filesystems – Sistemi ta' fajls attwali appoġġjati mill-kernel.
  7. /proc/iomem – Mappa attwali tal-memorja tas-sistema għall-apparati.
  8. /proc/ioports – Reġjuni tal-port irreġistrati għall-komunikazzjoni tal-output tal-input mal-apparat.
  9. /proc/loadavg – Il-medja tat-tagħbija tas-sistema.
  10. /proc/locks – Fajls li bħalissa huma msakkra bil-kernel.
  11. /proc/meminfo – Informazzjoni dwar il-memorja tas-sistema (ara l-eżempju ta' hawn fuq).
  12. /proc/misc – Sewwieqa mixxellanji reġistrati għal apparat ewlieni mixxellanju.
  13. /proc/modules – Moduli tal-kernel attwalment mgħobbija.
  14. /proc/mounts – Lista tal-muntaturi kollha li qed jintużaw mis-sistema.
  15. /proc/partitions – Informazzjoni dettaljata dwar diviżorji disponibbli għas-sistema.
  16. /proc/pci – Informazzjoni dwar kull apparat PCI.
  17. /proc/stat – Rekord jew statistika varji miżmuma mill-aħħar reboot.
  18. /proc/swap – Informazzjoni dwar l-ispazju ta' tpartit.
  19. /proc/uptime – Informazzjoni dwar l-uptime (f'sekondi).
  20. /proc/version – Verżjoni tal-kernel, verżjoni gcc, u distribuzzjoni Linux installata.

Fi ħdan id-direttorji numerati ta’ /proc issib ftit fajls u links. Ftakar li n-numri ta’ dawn id-direttorji jikkorrelataw mal-PID tal-kmand li qed jitħaddem fihom. Ejja nużaw eżempju. Fis-sistema tiegħi, hemm isem ta' folder /proc/12:

# cd /proc/12
# ls
attr        coredump_filter  io         mounts      oom_score_adj  smaps    wchan
autogroup   cpuset           latency    mountstats  pagemap        stack
auxv        cwd              limits     net         personality    stat
cgroup      environ          loginuid   ns          root           statm
clear_refs  exe              maps       numa_maps   sched          status
cmdline     fd               mem        oom_adj     schedstat      syscall
comm        fdinfo           mountinfo  oom_score   sessionid      task

Jekk niġri:

# cat /proc/12/status

Nirċievi dan li ġej:

Name:	xenwatch
State:	S (sleeping)
Tgid:	12
Pid:	12
PPid:	2
TracerPid:	0
Uid:	0	0	0	0
Gid:	0	0	0	0
FDSize:	64
Groups:
Threads:	1
SigQ:	1/4592
SigPnd:	0000000000000000
ShdPnd:	0000000000000000
SigBlk:	0000000000000000
SigIgn:	ffffffffffffffff
SigCgt:	0000000000000000
CapInh:	0000000000000000
CapPrm:	ffffffffffffffff
CapEff:	ffffffffffffffff
CapBnd:	ffffffffffffffff
Cpus_allowed:	1
Cpus_allowed_list:	0
Mems_allowed:	00000000,00000001
Mems_allowed_list:	0
voluntary_ctxt_switches:	84
nonvoluntary_ctxt_switches:	0

Allura, xi jfisser dan? Ukoll, il-parti importanti hija fil-quċċata. Nistgħu naraw mill-fajl tal-istatus li dan il-proċess jappartjeni lil xenwatch. L-istat attwali tiegħu huwa irqad, u l-ID tal-proċess tiegħu huwa 12, ovvjament. Nistgħu naraw ukoll min qed imexxi dan, peress li l-UID u l-GID huma 0, li jindikaw li dan il-proċess jappartjeni lill-utent root.

Fi kwalunkwe direttorju numerat, ser ikollok struttura ta 'fajls simili. L-aktar importanti, u d-deskrizzjonijiet tagħhom, huma kif ġej:

  1. cmdline – linja tal-kmand tal-proċess
  2. ambjent – varjabbli ambjentali
  3. fd – deskritturi tal-fajls
  4. limiti – fih informazzjoni dwar il-limiti tal-proċess
  5. muntaturi – informazzjoni relatata

Tinnota wkoll numru ta’ links fid-direttorju numerat:

  1. cwd – link għad-direttorju tax-xogħol attwali tal-proċess
  2. exe – link għall-eżekutibbli tal-proċess
  3. root – link għad-direttorju tax-xogħol tal-proċess

Dan għandu jwassal biex tibda tiffamiljarizza ruħek mad-direttorju /proc. Għandu wkoll jipprovdi għarfien dwar kif numru ta 'kmandi jiksbu l-informazzjoni tagħhom, bħal uptime, lsof, mount, u ps, biex insemmu biss ftit.