Pagsuhid /proc File System sa Linux


Karon, atong tan-awon ang sulod sa/proc nga direktoryo ug magpalambo og pamilyar niini. Ang /proc nga direktoryo anaa sa tanang sistema sa Linux, bisan unsa pa ang lami o arkitektura.

Usa ka sayop nga pagsabut nga kinahanglan naton nga limpyohan dayon mao nga ang/proc nga direktoryo DILI usa ka tinuud nga Sistema sa File, sa kahulugan sa termino. Kini usa ka Virtual File System. Naa sa sulod sa mga procf ang kasayuran bahin sa mga proseso ug uban pang impormasyon sa sistema. Gi-mapa kini sa/proc ug gi-mount sa oras sa pag-boot.

Una, mosulod kita sa/proc nga direktoryo ug tan-awa ang palibot:

# cd /proc

Ang una nga butang nga imong namatikdan mao nga adunay pipila ka pamilyar nga tunog nga mga file, ug dayon usa ka tibuuk nga pundok sa mga numero nga direktoryo. Ang gi-numero nga mga direktoryo nagrepresentar sa mga proseso, nga mas nailhan nga mga PID, ug sa sulod niini, usa ka mando nga nag-okupar niini. Ang mga file adunay impormasyon sa sistema sama sa memorya (meminfo), impormasyon sa CPU (cpuinfo), ug anaa nga mga filesystem.

Basaha Usab:  Linux Free Command to Check Physical Memory and Swap Memory

Atong tan-awon una ang usa sa mga file:

# cat /proc/meminfo

nga nagbalik sa usa ka butang nga susama niini:

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

Sama sa imong makita, ang /proc/meminfo adunay daghang impormasyon bahin sa memorya sa imong sistema, lakip ang kinatibuk-ang kantidad nga magamit (sa kb) ug ang kantidad nga libre sa ibabaw nga duha ka linya.

Ang pagpadagan sa cat command sa bisan unsang mga file sa/proc magpagawas sa ilang mga sulod. Ang impormasyon bahin sa bisan unsang mga file anaa sa man page pinaagi sa pagpadagan:

# man 5 /proc/<filename>

Hatagan ko ikaw ug dali nga rundown sa mga file sa /proc:

  1. /proc/cmdline – Kernel command line nga impormasyon.
  2. /proc/console – Impormasyon mahitungod sa kasamtangang consoles lakip ang tty.
  3. /proc/devices – Ang mga driver sa device karon gi-configure para sa nagdagan nga kernel.
  4. /proc/dma – Impormasyon mahitungod sa kasamtangang DMA channels.
  5. /proc/fb – Framebuffer nga mga himan.
  6. /proc/filesystems – Kasamtangang mga filesystem nga gisuportahan sa kernel.
  7. /proc/iomem – Kasamtangang mapa sa memorya sa sistema alang sa mga himan.
  8. /proc/ioports – Rehistrado nga mga rehiyon sa pantalan para sa input output nga komunikasyon uban sa device.
  9. /proc/loadavg – Average nga load sa sistema.
  10. /proc/locks – Mga file nga gi-lock karon pinaagi sa kernel.
  11. /proc/meminfo – Impormasyon mahitungod sa memorya sa sistema (tan-awa ang pananglitan sa ibabaw).
  12. /proc/misc – Miscellaneous nga mga drayber narehistro para sa lain-laing mayor nga device.
  13. /proc/modules – Kasamtangang gikarga nga kernel modules.
  14. /proc/mounts – Listahan sa tanang mounts nga gigamit sa sistema.
  15. /proc/partitions – Detalyadong impormasyon mahitungod sa partitions nga anaa sa sistema.
  16. /proc/pci – Impormasyon mahitungod sa matag PCI device.
  17. /proc/stat – Rekord o lain-laing estadistika nga gitipigan gikan sa kataposang reboot.
  18. /proc/swap – Impormasyon mahitungod sa swap space.
  19. /proc/uptime – Uptime nga impormasyon (sa mga segundo).
  20. /proc/bersyon – Kernel nga bersyon, gcc nga bersyon, ug Linux distribution na-install.

Sulod sa mga direktoryo sa/proc makit-an nimo ang pipila ka mga file ug mga link. Hinumdomi nga kini nga mga numero sa mga direktoryo adunay kalabotan sa PID sa mando nga gipadagan sa sulod niini. Gamiton nato ang usa ka pananglitan. Sa akong sistema, adunay ngalan sa 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

Kung modagan ko:

# cat /proc/12/status

Nakuha nako ang mosunod:

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

Busa, unsay ipasabot niini? Aw, ang importante nga bahin anaa sa ibabaw. Atong makita gikan sa status file nga kini nga proseso iya sa xenwatch. Ang kasamtangan nga kahimtang niini natulog, ug ang proseso sa ID niini 12, klaro. Makita usab nato kung kinsa ang nagpadagan niini, tungod kay ang UID ug GID 0, nga nagpakita nga kini nga proseso iya sa gamut nga tiggamit.

Sa bisan unsang numero nga direktoryo, adunay ka parehas nga istruktura sa file. Ang labing hinungdanon, ug ang ilang mga paghulagway, mao ang mga musunud:

  1. cmdline – command line sa proseso
  2. kalibotan – mga kausaban sa kinaiyahan
  3. fd – mga deskriptor sa payl
  4. limitasyon – adunay impormasyon mahitungod sa mga limitasyon sa proseso
  5. mounts – may kalabutan nga impormasyon

Mamatikdan usab nimo ang daghang mga link sa ginumero nga direktoryo:

  1. cwd – usa ka sumpay sa kasamtangang direktoryo sa proseso sa proseso
  2. exe – sumpay ngadto sa executable sa proseso
  3. root – sumpay sa direktoryo sa trabaho sa proseso

Kini kinahanglan nga magsugod ka sa pag-pamilyar sa imong kaugalingon sa/proc nga direktoryo. Kinahanglan usab nga maghatag kini og panabut kung giunsa pagkuha sa daghang mga mando ang ilang impormasyon, sama sa oras sa pag-up, lsof, mount, ug ps, aron hinganlan lang ang pipila.