/proc: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Rrongele (talk | contribs)
No edit summary
Rrongele (talk | contribs)
No edit summary
Line 67: Line 67:
Nagu eelpool mainitud, vastab iga '''/proc/''' kataloogis olev nummerdatud alamkataloog erinevale '''protsessile'''.
Nagu eelpool mainitud, vastab iga '''/proc/''' kataloogis olev nummerdatud alamkataloog erinevale '''protsessile'''.


Näiteks võtame protsessi numbriga 3939 ja vaatame antud kataloogi. käivitame terminalis käskluse:
Näiteks võtame protsessi numbriga 1 ja vaatame antud kataloogi. Käivitame terminalis käskluse:


  ls /proc/3939
  ls /proc/3939
Line 84: Line 84:
Käivitame terminalis järgmise käskluse:
Käivitame terminalis järgmise käskluse:


  cat /proc/3939/status/
  cat /proc/1/status/


Saame järgmise väljundi:
Saame järgmise väljundi:


  Nameredshift
  amesystemd
  State:  S (sleeping)
  State:  S (sleeping)
  Tgid:  3939
  Tgid:  1
  Ngid:  0
  Ngid:  0
  Pid:    3939
  Pid:    1
  PPid:  3934
  PPid:  0
  TracerPid:      0
  TracerPid:      0
  Uid:    1000    1000    1000    1000
  Uid:    0      0      0      0
  Gid:    1000    1000    1000    1000
  Gid:    0      0      0      0
  FDSize: 64
  FDSize: 128
  Groups: 4 24 27 30 46 113 128 1000
  Groups:
  NStgid: 3939
  NStgid: 1
  NSpid:  3939
  NSpid:  1
  NSpgid: 3934
  NSpgid: 1
  NSsid:  2403
  NSsid:  1
  VmPeak:   60620 kB
  VmPeak:   250848 kB
  VmSize:   60516 kB
  VmSize:   185452 kB
  VmLck:        0 kB
  VmLck:        0 kB
  VmPin:        0 kB
  VmPin:        0 kB
  VmHWM:      4468 kB
  VmHWM:      6256 kB
  VmRSS:      4444 kB
  VmRSS:      6136 kB
  VmData:     296 kB
  VmData:   149204 kB
  VmStk:      140 kB
  VmStk:      136 kB
  VmExe:       48 kB
  VmExe:     1392 kB
  VmLib:      8648 kB
  VmLib:      3664 kB
  VmPTE:      132 kB
  VmPTE:      104 kB
  VmPMD:        12 kB
  VmPMD:        16 kB
  VmSwap:        0 kB
  VmSwap:        0 kB
  HugetlbPages:          0 kB
  HugetlbPages:          0 kB
Line 121: Line 121:
  SigPnd: 0000000000000000
  SigPnd: 0000000000000000
  ShdPnd: 0000000000000000
  ShdPnd: 0000000000000000
  SigBlk: 0000000000000000
  SigBlk: 7be3c0fe28014a03
  SigIgn: 0000000001010000
  SigIgn: 0000000000001000
  SigCgt: 0000000180004202
  SigCgt: 00000001800004ec
  CapInh: 0000000000000000
  CapInh: 0000000000000000
  CapPrm: 0000000000000000
  CapPrm: 0000003fffffffff
  CapEff: 0000000000000000
  CapEff: 0000003fffffffff
  CapBnd: 0000003fffffffff
  CapBnd: 0000003fffffffff
  CapAmb: 0000000000000000
  CapAmb: 0000000000000000
Line 134: Line 134:
  Mems_allowed:  00000000,00000001
  Mems_allowed:  00000000,00000001
  Mems_allowed_list:      0
  Mems_allowed_list:      0
  voluntary_ctxt_switches:        2408
  voluntary_ctxt_switches:        1975
  nonvoluntary_ctxt_switches:    26
  nonvoluntary_ctxt_switches:    473


Saame teada, et tegemist on protsess kuulub
==123==
==123==
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]

Revision as of 23:24, 3 December 2016

Kirjeldus

/proc (process information pseudo-file system) on virtuaalne failisüsteem, milles asuvad failid sisaldavad tuuma hetkeoleku kohta informatsiooni.

/proc/ kataloogis asuvad virtuaalsed failid. Enamus nendest failidest on suurusega 0 baiti, kuid faili avades võib seal olla suurel hulgl informatsiooni. Lisaks sellele enamus failide aja- ning kuupäeva sätteid vastab hetke ajale ning kuupäevale, mis viitab sellele, et faile uuendatakse pidevalt. Lisaks failidele asuvad /proc/-is ka nummerdatud kataloogid. Iga nummerdatud kataloog esindab mingit protsessi (PID).

Selleks, et vaadata /proc/ kataloogi sisse, tuleks sisestada terminali järgmine käsklus

ll /proc/

Osa väljundist:

...
dr-xr-xr-x   9 root             root                           0 dets   3 22:55 11350/
dr-xr-xr-x   9 root             root                           0 dets   3 22:55 11588/
dr-xr-xr-x   9 root             root                           0 dets   4  2016 1177/
dr-xr-xr-x   9 root             root                           0 dets   4  2016 1183/
dr-xr-xr-x   9 root             root                           0 dets   4  2016 1187/
dr-xr-xr-x   9 root             root                           0 dets   3 22:55 11870/
dr-xr-xr-x   9 root             root                           0 dets   3 22:55 11894/
dr-xr-xr-x   9 root             root                           0 dets   4  2016 12/
dr-xr-xr-x   9 kasutaja         kasutaja                       0 dets   4  2016 1223/
...
-r--r--r--   1 root             root                           0 dets   3 22:58 cpuinfo
-r--r--r--   1 root             root                           0 dets   3 22:58 crypto
-r--r--r--   1 root             root                           0 dets   3 22:58 devices
...

Failid

Virtuaalsed failid, nagu näiteks /proc/interrupts, /proc/meminfo, /proc/mount, /proc/partitions tagavad süsteemi riistvara kohta hetkelist informatsiooni. Teisalt, aga näiteks /proc/filesystems ning /proc/sys tagavad informatsiooni süsteemi konfiguratsiooni ning liideste kohta.

/proc/ kataloogis olevaid faile saab vaadata näiteks käskluste cat, more või less abil. Kui kasutaja soovib näiteks vaadata informatsiooni oma kesktöötlusseadme (CPU) kohta, tuleks tal sisestada terminalis käsklus cat /proc/cpuinfo

Väljund käsklusele võib olla midagi sarnast:

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 69
model name      : Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz
stepping        : 1
microcode       : 0x17
cpu MHz         : 1826.792
cache size      : 3072 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology 
nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb tpr_shadow vnmi flexpriority
ept  vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts
bugs            :
bogomips        : 4589.13
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:
...


Nagu näha, sisaldab /proc/cpuinfo üsna palju informatsiooni kesktöötlusseadme kohta.

Protsessid

Nagu eelpool mainitud, vastab iga /proc/ kataloogis olev nummerdatud alamkataloog erinevale protsessile.

Näiteks võtame protsessi numbriga 1 ja vaatame antud kataloogi. Käivitame terminalis käskluse:

ls /proc/3939

Saame väljundi:

attr        comm             fd        map_files   net            pagemap      sessionid  status
autogroup   coredump_filter  fdinfo    maps        ns             personality  setgroups  syscall
auxv        cpuset           gid_map   mem         numa_maps      projid_map   smaps      task
cgroup      cwd              io        mountinfo   oom_adj        root         stack      timers
clear_refs  environ          limits    mounts      oom_score      sched        stat       uid_map
cmdline     exe              loginuid  mountstats  oom_score_adj  schedstat    statm      wchan

Selleks, et protsessi kohta rohkem informatsiooni saada, tuleks vaadata protsessi alamkataloogis olevat faili nimega status

Käivitame terminalis järgmise käskluse:

cat /proc/1/status/

Saame järgmise väljundi:

ame:   systemd
State:  S (sleeping)
Tgid:   1
Ngid:   0
Pid:    1
PPid:   0
TracerPid:      0
Uid:    0       0       0       0
Gid:    0       0       0       0
FDSize: 128
Groups:
NStgid: 1
NSpid:  1
NSpgid: 1
NSsid:  1
VmPeak:   250848 kB
VmSize:   185452 kB
VmLck:         0 kB
VmPin:         0 kB
VmHWM:      6256 kB
VmRSS:      6136 kB
VmData:   149204 kB
VmStk:       136 kB
VmExe:      1392 kB
VmLib:      3664 kB
VmPTE:       104 kB
VmPMD:        16 kB
VmSwap:        0 kB
HugetlbPages:          0 kB
Threads:        1
SigQ:   0/31033
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 7be3c0fe28014a03
SigIgn: 0000000000001000
SigCgt: 00000001800004ec
CapInh: 0000000000000000
CapPrm: 0000003fffffffff
CapEff: 0000003fffffffff
CapBnd: 0000003fffffffff
CapAmb: 0000000000000000
Seccomp:        0
Cpus_allowed:   ff
Cpus_allowed_list:      0-7
Mems_allowed:   00000000,00000001
Mems_allowed_list:      0
voluntary_ctxt_switches:        1975
nonvoluntary_ctxt_switches:     473


Saame teada, et tegemist on protsess kuulub

123