Proc-tiedostojärjestelmä

Linux.fista
Versio hetkellä 8. joulukuuta 2007 kello 19.17 – tehnyt Heikki (keskustelu | muokkaukset) (välitallennus)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

Proc-tiedostojärjestelmä (procfs) on yleensä /proc-hakemistoon liitetty pseudotiedostojärjestelmä, jota käytetään tiedon välittämiseen ytimen ja prosessien välillä. Sen sisältö ei siis sijaitse millään levyllä vaan se generoidaan aina luettaessa.

Proc-tiedostojärjestelmässä olevia "tiedostoja" voi lukea ja niihin voi kirjoittaa tietoa normaalisti (monesti etenkin kirjoittamiseen vaaditaan pääkäyttäjän oikeudet). Esimerkiksi tiedot käytettävissä olevasta muistista saa selville lukemalla tiedoston /proc/meminfo sisällön:

$ cat /proc/meminfo
MemTotal:       775540 kB
MemFree:         10272 kB
...

Vastaavasti esimerkiksi kirjoittamalla luvun 1 tiedostoon /proc/sys/net/ipv4/ip_forward kerrotaan ytimelle, että IP-liikenteen uudelleenohjaus on sallittua.

Tiedostoja

Proc-tiedostojärjestelmästä löytyy lukuisia muita tiedostoja ja hakemistoja yllä mainittujen esimerkkien lisäksi. Jotkut tiedostot sisältävät tietoa järjestelmän tilasta ja toisiin kirjoittamalla voidaan säätää ytimen toimintaa.

Proc-tiedostojärjestelmän tiedostot voi listata normaalisti komennolla

ls /proc

Listauksesta nähdään, että /proc-hakemistossa on useita hakemistoja, joiden nimi koostuu vain numeroista. Nämä hakemistot sisältävät tiedot käynnissä olevista prosesseista siten, että hakemiston nimi on kyseisen prosessin PID-tunniste. Tällaiset hakemistot sisältävät seuraavat tiedostot:

  • cmdline, josta löytyy prosessin käynnistyskomento ilman välilyöntejä
  • cwd, joka on symbolinen linkki prosessin nykyiseen työhakemistoon
  • environ, josta löytyy prosessiin vaikuttavat ympäristömuuttujat muodossa ASETUS=arvo ilman välilyöntejä.