Adresář /proc
Z MiS
Obsah |
Zdroje
Úvod
- K čemu je /proc?
- Nese informace o běžících procesech v operačním systému.
- Informace o každém procesu jsou v jednom adresáři (podrobněji viz kapitola Podadresáře).
- Dále jsou zde informace o hardware a software počítače (viz kapitola Informace o HW).
- Obvykle jen pro čtení
- Většina souborů v adresáři /proc je jen pro čtení.
- Umožňují zjišťovat informace o systému a procesech:
- Například: /proc/meminfo
- Některé soubory ale jsou zapisovatelné
- umožňují modifikaci parametrů kernelu (jádra OS).
- Například povolení routování:
echo 1 > /proc/sys/net/ipv4/ip_forward
- /proc je virtuální adresář!
- Soubory jsou jen virtuální, ve skutečnosti neexistují.
- Informace se berou z operační paměti z tabulek procesů a dalších pomocných struktur operačního systému.
Podadresáře
- Číslované podadresáře odpovídají procesům, v nich soubory:
-
stat
- podrobnější informace
-
status
Stručně čitelné pro člověka:
- PID
- využití paměti
- stavy procesů
- ...
-
cmdline
- Příkazová řádka, kterou byl proces spuštěn.
-
cwd
- Symbolický link na aktuální adresář procesu.
-
environ
- Proměnné prostředí daného procesu.
- ... a další
Příklad: informace o procesu a jeho zabití
- Spusťte nekonečný proces na pozadí:
cp /dev/zero /dev/null &
- Zjistěte číslo procesu ve druhém sloupečku:
ps
- Vypište informace o procesu
cat /proc/<číslo procesu>/status cat /proc/<číslo procesu>/environ cat /proc/<číslo procesu>/cmdline
- Pošlete procesu signál pro ukončení:
kill -s INT <číslo procesu>
-
self
- Je symbolický link na virtuální adresář aktuálního procesu.
Zkuste ze dvou různých příkazových procesů (třeba dvou terminálů) spustit:
cat /proc/self/status
Informace o hardware
/proc/cpuinfo
- Obsahuje informace o procesoru počítače.
- Například: instrukční sady (podpora AES, podpora virtualizace,...)
/proc/meminfo
- Informace o velikosti a využití operační paměti.
/proc/version
- Verze kernelu.
- Totéž, co:
uname -srv
Verzi nainstalované distribuce Linuxu zjistíme v různých distribucích různě. V Debianu můžeme použít:
lsb_release -a
Nebo vypsat obsah souboru /etc/debian_version.
/proc/interrupts
/proc/cmdline
- Parametry při spuštění kernelu.
- Informace o discích
/proc/filesystems
/proc/partitions
/proc/sys/fs/file-nr
- trojice čísel popořadě udává počet otevřených souborů, počet aktuálně používaných souborů (probíhá nějaká operace), maximální počet otevřených souborů;
- Další
/proc/apm/
- Advanced Power Management
/proc/acpi/
/proc/net/
- Údaje o síti.