Na-enyocha/proc Sistemụ faịlụ na Linux


Taa, anyị ga-eleba anya n'ime akwụkwọ ndekọ aha/proc wee mepụta nke ọma na ya. Akwụkwọ ndekọ/proc dị na sistemụ Linux niile, n'agbanyeghị ekpomeekpo ma ọ bụ ụkpụrụ ụlọ.

Otu echiche na-ezighi ezi nke anyị ga-ekpochapụ ozugbo bụ na/proc ndekọ abụghị ezigbo Sistemụ Njikwa, n'echiche nke okwu ahụ. Ọ bụ Virtual File System. Ihe dị n'ime procfs bụ ozi gbasara usoro yana ozi sistemụ ndị ọzọ. Edebere ya na /proc ma tinye ya n'oge buut.

Nke mbụ, ka anyị banye na ndekọ aha/proc wee lelee anya gburugburu:

# cd /proc

Ihe mbụ ị ga-achọpụta bụ na e nwere ụfọdụ faịlụ na-ada ụda nke ọma, na mgbe ahụ otu ụyọkọ akwụkwọ ndekọ aha. Akwụkwọ ndekọ aha ndị a na-anọchi anya usoro, nke a maara nke ọma dị ka PIDs, yana n'ime ha, iwu na-ejide ha. Faịlụ nwere ozi sistemụ dị ka ebe nchekwa (meminfo), ozi CPU (cpuinfo), na sistemụ faịlụ dị.

Gụọkwa:  Iwu efu Linux iji lelee ebe nchekwa anụ ahụ yana gbanwee ebe nchekwa

Ka anyị buru ụzọ lelee otu n'ime faịlụ ndị a:

# cat /proc/meminfo

nke na-eweghachi ihe yiri nke a:

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
...

Dịka ị na-ahụ, /proc/meminfo nwere ọtụtụ ozi gbasara ebe nchekwa sistemụ gị, gụnyere mkpokọta ego dị (na kb) yana ego efu n'elu ahịrị abụọ dị n'elu.

Ịgba iwu nwamba na faịlụ ọ bụla dị na /proc ga-ewepụta ọdịnaya ha. Ozi gbasara faịlụ ọ bụla dị na ibe nwoke site na ịgba ọsọ:

# man 5 /proc/<filename>

M ga-enye gị ndepụta ngwa ngwa na/proc faịlụ:

  1. /proc/cmdline – ozi ahịrị iwu kernel.
  2. /proc/console – Ozi gbasara consoles dị ugbu a gụnyere tty.
  3. /proc/ngwaọrụ – Ndị ọkwọ ụgbọ ala ahaziri ugbu a maka kernel na-agba ọsọ.
  4. /proc/dma – Ozi gbasara ọwa DMA dị ugbu a.
  5. /proc/fb – Ngwaọrụ Framebuffer.
  6. /proc/filesystems – Sistemu faịlụ dị ugbu a nke kernel na-akwado.
  7. /proc/iomem – Maapụ ebe nchekwa sistemụ dị ugbu a maka ngwaọrụ.
  8. /proc/ioports – Mpaghara ọdụ ụgbọ mmiri edebanyere aha maka nzikọrịta ozi na ngwaọrụ ntinye.
  9. /proc/loadavg – Nkezi ibu sistemu.
  10. /proc/locks – Faịlụ ejiri kernel kpọchie ugbu a.
  11. /proc/meminfo – Ozi gbasara ebe nchekwa sistemụ (lee ihe atụ n'elu).
  12. /proc/misc – Ndị ọkwọ ụgbọ ala dị iche iche debara aha maka nnukwu ngwaọrụ dị iche iche.
  13. /proc/modul – Modul kernel eburula ugbu a.
  14. /proc/mounts – Ndepụta nke mounts niile ejiri sistemụ na-eji.
  15. /proc/partitions – Ozi zuru ezu gbasara nkebi dị na sistemụ.
  16. /proc/pci – Ozi gbasara ngwaọrụ PCI ọ bụla.
  17. /proc/stat – Dekọọ ma ọ bụ ọnụ ọgụgụ dị iche iche echekwara site na nrụgharị ikpeazụ.
  18. /proc/swap – Ozi gbasara swap space.
  19. /proc/uptime – ozi oge (na sekọnd).
  20. /proc/ụdị – Ụdị kernel, ụdị gcc, na nkesa Linux arụnyere.

N'ime akwụkwọ ndekọ aha/proc ị ga-ahụ faịlụ na njikọ ole na ole. Cheta na ọnụọgụ akwụkwọ ndekọ aha ndị a dabara na PID nke iwu a na-agba n'ime ha. Ka anyị were ihe atụ. Na sistemụ m, enwere aha nchekwa /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

Ọ bụrụ na m agbaa ọsọ:

# cat /proc/12/status

Ana m enweta ihe ndị a:

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

Ya mere, gịnị ka nke a pụtara? Ọfọn, akụkụ dị mkpa dị n'elu. Anyị nwere ike ịhụ site na faịlụ ọkwa na usoro a bụ nke xenwatch. Ọnọdụ ya ugbu a na-ehi ụra, yana ID usoro ya bụ 12, doro anya. Anyị nwekwara ike ịhụ onye na-agba ọsọ a, dị ka UID na GID bụ 0, na-egosi na usoro a bụ nke onye ọrụ mgbọrọgwụ.

N'ime akwụkwọ ndekọ aha ọ bụla, ị ga-enwe nhazi faịlụ yiri ya. Ndị kachasị mkpa, na nkọwa ha, bụ ndị a:

  1. cmdline – ahịrị iwu nke usoro a
  2. gburugburu – mgbanwe gburugburu ebe obibi
  3. fd – ndị na-akọwa faịlụ
  4. oke - nwere ozi gbasara oke usoro a
  5. nkwalite – ozi metụtara

Ị ga-ahụkwa ọtụtụ njikọ n'ime akwụkwọ ndekọ aha nwere nọmba:

  1. cwd – njikọ na ndekọ na-arụ ọrụ ugbu a nke usoro
  2. exe – njikọ na executable nke usoro
  3. mgbọrọgwụ – jikọọ na ndekọ ọrụ nke usoro

Nke a kwesịrị ịmalite ịmara onwe gị na ndekọ ndekọ/proc. O kwesịkwara inye nghọta ka ọtụtụ iwu si enweta ozi ha, dị ka oge, lsof, ugwu, na ps, naanị ịkpọ aha ole na ole.