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:
- /proc/cmdline – Kernel command line nga impormasyon.
- /proc/console – Impormasyon mahitungod sa kasamtangang consoles lakip ang tty.
- /proc/devices – Ang mga driver sa device karon gi-configure para sa nagdagan nga kernel.
- /proc/dma – Impormasyon mahitungod sa kasamtangang DMA channels.
- /proc/fb – Framebuffer nga mga himan.
- /proc/filesystems – Kasamtangang mga filesystem nga gisuportahan sa kernel.
- /proc/iomem – Kasamtangang mapa sa memorya sa sistema alang sa mga himan.
- /proc/ioports – Rehistrado nga mga rehiyon sa pantalan para sa input output nga komunikasyon uban sa device.
- /proc/loadavg – Average nga load sa sistema.
- /proc/locks – Mga file nga gi-lock karon pinaagi sa kernel.
- /proc/meminfo – Impormasyon mahitungod sa memorya sa sistema (tan-awa ang pananglitan sa ibabaw).
- /proc/misc – Miscellaneous nga mga drayber narehistro para sa lain-laing mayor nga device.
- /proc/modules – Kasamtangang gikarga nga kernel modules.
- /proc/mounts – Listahan sa tanang mounts nga gigamit sa sistema.
- /proc/partitions – Detalyadong impormasyon mahitungod sa partitions nga anaa sa sistema.
- /proc/pci – Impormasyon mahitungod sa matag PCI device.
- /proc/stat – Rekord o lain-laing estadistika nga gitipigan gikan sa kataposang reboot.
- /proc/swap – Impormasyon mahitungod sa swap space.
- /proc/uptime – Uptime nga impormasyon (sa mga segundo).
- /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:
- cmdline – command line sa proseso
- kalibotan – mga kausaban sa kinaiyahan
- fd – mga deskriptor sa payl
- limitasyon – adunay impormasyon mahitungod sa mga limitasyon sa proseso
- mounts – may kalabutan nga impormasyon
Mamatikdan usab nimo ang daghang mga link sa ginumero nga direktoryo:
- cwd – usa ka sumpay sa kasamtangang direktoryo sa proseso sa proseso
- exe – sumpay ngadto sa executable sa proseso
- 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.