Adresář /proc
Z MiS
(Rozdíly mezi verzemi)
(→Podadresáře: Opraven vzhled, zestručněno, opraveny příklady) |
m (→Informace o hardware: Oprava formátování seznamu.) |
||
(Nejsou zobrazeny 3 mezilehlé verze od 1 uživatele.) | |||
Řádka 5: | Řádka 5: | ||
* [http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/proc.html TLDP.org > Linux-Filesystem-Hierarchy > Proc] | * [http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/proc.html TLDP.org > Linux-Filesystem-Hierarchy > Proc] | ||
− | == | + | == Úvod == |
− | * | + | ; K čemu je <tt>/proc</tt>? |
− | * | + | * Nese informace o běžících procesech v operačním systému. |
− | * Většina souborů jen pro čtení | + | * Informace o každém procesu jsou v jednom adresáři (podrobněji viz [[#Podadresáře|kapitola Podadresáře]]). |
+ | * Dále jsou zde informace o hardware a software počítače (viz [[#Informace o HW|kapitola Informace o HW]]). | ||
+ | |||
+ | ; Obvykle jen pro čtení | ||
+ | * Většina souborů v adresáři <tt>/proc</tt> je jen pro čtení. | ||
** Umožňují zjišťovat informace o systému a procesech: | ** Umožňují zjišťovat informace o systému a procesech: | ||
** Například: <tt>/proc/meminfo</tt> | ** Například: <tt>/proc/meminfo</tt> | ||
− | * Některé soubory jsou zapisovatelné | + | * Některé soubory ale jsou zapisovatelné |
− | ** umožňují modifikaci parametrů kernelu. | + | ** umožňují modifikaci parametrů kernelu (jádra OS). |
** Například povolení routování: | ** Například povolení routování: | ||
echo 1 > /proc/sys/net/ipv4/ip_forward | echo 1 > /proc/sys/net/ipv4/ip_forward | ||
+ | |||
+ | ; <tt>/proc</tt> 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 == | == Podadresáře == | ||
Řádka 50: | Řádka 58: | ||
* Je symbolický link na virtuální adresář aktuálního procesu. | * Je symbolický link na virtuální adresář aktuálního procesu. | ||
<div class="Priklad"> | <div class="Priklad"> | ||
− | + | Zkuste ze dvou různých příkazových procesů (třeba dvou terminálů) spustit: | |
− | /proc/self/status | + | cat /proc/self/status |
</div> | </div> | ||
== Informace o hardware == | == Informace o hardware == | ||
− | + | <code>/proc/cpuinfo</code> | |
− | * | + | * Obsahuje informace o procesoru počítače. |
− | * | + | * Například: instrukční sady (podpora AES, podpora virtualizace,...) |
− | + | <code>/proc/meminfo</code> | |
− | + | * Informace o velikosti a využití operační paměti. | |
− | */proc/version | + | <code>/proc/version</code> |
− | + | * Verze kernelu. | |
− | + | * Totéž, co: <code>uname -srv</code> | |
− | + | <div class="Poznamka"> | |
− | + | 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 <tt>/etc/debian_version</tt>. | |
+ | </div> | ||
+ | <code>/proc/interrupts</code> | ||
+ | <code>/proc/cmdline</code> | ||
+ | * Parametry při spuštění kernelu. | ||
+ | |||
; Informace o discích | ; Informace o discích | ||
− | + | <code>/proc/filesystems</code> | |
− | + | <code>/proc/partitions</code> | |
− | + | <code>/proc/sys/fs/file-nr</code> | |
− | + | *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ší: | |
− | + | <code>/proc/apm/</code> | |
− | + | *Advanced Power Management | |
− | + | <code>/proc/acpi/</code> | |
− | + | <code>/proc/net/</code> | |
− | + | *Údaje o síti. |
Aktuální verze z 2. 10. 2024, 10:24
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.