Bincika /proc Tsarin Fayil a cikin Linux


A yau, za mu duba cikin /proc directory kuma mu sami sabani da shi. Kundin tsarin /proc yana nan akan duk tsarin Linux, ba tare da la'akari da dandano ko gine-gine ba.

Ɗaya daga cikin kuskuren da dole mu share nan da nan shine cewa /proc directory ba ainihin Tsarin Fayil bane, a ma'anar kalmar. Yana da Virtual File System. Kunshe a cikin procfs akwai bayanai game da matakai da sauran bayanan tsarin. An tsara shi zuwa /proc kuma an saka shi a lokacin taya.

Da farko, bari mu shiga cikin /proc directory kuma a duba:

# cd /proc

Abu na farko da za ku lura shi ne cewa akwai wasu fayilolin da aka saba da su masu sauti, sa'an nan kuma tarin kundayen adireshi masu lamba. Kundayen adireshi masu ƙididdigewa suna wakiltar matakai, waɗanda aka fi sani da PIDs, kuma a cikin su, umarnin da ya mamaye su. Fayilolin sun ƙunshi bayanan tsarin kamar ƙwaƙwalwar ajiya (meminfo), bayanin CPU (cpuinfo), da tsarin fayil akwai.

Karanta Hakanan:  Umurnin Kyauta na Linux don Duba Ƙwaƙwalwar Jiki da Musanya Ƙwaƙwalwar ajiya

Bari mu fara duba ɗaya daga cikin fayilolin:

# cat /proc/meminfo

wanda ya mayar da wani abu makamancin haka:

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

Kamar yadda kake gani, /proc/meminfo ya ƙunshi ɗimbin bayanai game da ƙwaƙwalwar ajiyar tsarin ku, gami da jimillar adadin da ake samu (a cikin kb) da adadin kyauta a saman layi biyu.

Gudanar da umarnin cat akan kowane fayiloli a /proc zai fitar da abubuwan da ke cikin su. Ana samun bayanai game da kowane fayiloli a cikin shafin mutum ta hanyar gudu:

# man 5 /proc/<filename>

Zan ba ku cikakken bayani kan fayilolin /proc:

  1. /proc/cmdline – Bayanin layin umarni na Kernel.
  2. /proc/console - Bayani game da na'urorin wasan bidiyo na yanzu gami da tty.
  3. /proc/na'urori - A halin yanzu an saita direbobin na'ura don kernel mai gudana.
  4. /proc/dma – Bayani game da tashoshin DMA na yanzu.
  5. /proc/fb – Framebuffer na'urorin.
  6. /proc/filesystems - Tsarin fayil na yanzu yana goyan bayan kernel.
  7. /proc/iomem - Taswirar ƙwaƙwalwar ajiyar tsarin yanzu don na'urori.
  8. /proc/ioports - Yankunan tashar jiragen ruwa masu rijista don shigar da fitarwar sadarwa tare da na'ura.
  9. /proc/loadavg - Matsakaicin nauyin tsarin.
  10. /proc/locks - Fayiloli a halin yanzu suna kulle ta kernel.
  11. /proc/meminfo - Bayani game da ƙwaƙwalwar ajiyar tsarin (duba misalin sama).
  12. /proc/misc - Direbobi daban-daban sun yi rajista don manyan na'urori daban-daban.
  13. /proc/modules - A halin yanzu an ɗora kayan kwaya.
  14. /proc/mounts – Jerin duk abubuwan hawa da ake amfani da su ta tsarin.
  15. /proc/partitions - Cikakken bayani game da ɓangarorin da ke akwai ga tsarin.
  16. /proc/pci - Bayani game da kowace na'urar PCI.
  17. /proc/stat – Rikodi ko kididdiga daban-daban da aka kiyaye daga sake yi na ƙarshe.
  18. /proc/swap – Bayani game da musanyar wuri.
  19. /proc/uptime – Bayanin lokacin aiki (a cikin daƙiƙa).
  20. /proc/version – Sigar Kernel, sigar gcc, da kuma rarraba Linux.

A cikin kundayen adireshi masu lamba /proc zaku sami ƴan fayiloli da hanyoyin haɗin gwiwa. Ka tuna cewa waɗannan kundayen adireshi suna da alaƙa da PID na umarnin da ake gudanarwa a cikin su. Bari mu yi amfani da misali. A kan tsarina, akwai sunan babban fayil /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

Idan na gudu:

# cat /proc/12/status

Ina samun mai zuwa:

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

To, menene wannan yake nufi? To, muhimmin sashi yana saman. Zamu iya gani daga fayil ɗin matsayi cewa wannan tsari na xenwatch ne. Halinsa na yanzu yana barci, kuma ID ɗin tsarin sa shine 12, a fili. Hakanan zamu iya ganin wanda ke tafiyar da wannan, kamar yadda UID da GID suke 0, yana nuna cewa wannan tsari na tushen mai amfani ne.

A cikin kowane kundin adireshi mai lamba, zaku sami tsarin fayil iri ɗaya. Mafi mahimmanci, da bayaninsu, sune kamar haka.

  1. cmdline – layin umarni na tsari
  2. Muhalli – Matsalolin muhalli
  3. fd – masu bayanin fayil
  4. iyaka - ya ƙunshi bayani game da iyakokin tsari
  5. hawa - bayanai masu alaƙa

Hakanan za ku lura da adadin hanyoyin haɗin gwiwa a cikin kundin adireshi mai lamba:

  1. cwd – hanyar haɗi zuwa kundin tsarin aiki na yanzu
  2. exe - hanyar haɗi zuwa aiwatar da aiwatarwa
  3. tushen – hanyar haɗi zuwa kundin tsarin aiki

Wannan ya kamata ku fara tare da sanin kanku da jagorar /proc. Hakanan yakamata ya ba da haske kan yadda yawancin umarni ke samun bayanansu, kamar lokacin aiki, lsof, mount, da ps, don kawai suna suna kaɗan.