Adresář /proc
Z MiS
(Rozdíly mezi verzemi)
(Založena nová stránka: Category:VSECategory:InformatikaCategory:OSYCategory:Procesy == Zdroje == * [http://www.linux.com/feature/126718 Linux.com > Feature > 126718] * [http://ww...) |
m (→Informace o hardware: Oprava formátování seznamu.) |
||
(Nejsou zobrazeny 4 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 == | ||
*Číslované podadresáře odpovídají procesům, v nich soubory: | *Číslované podadresáře odpovídají procesům, v nich soubory: | ||
− | + | ; <code>stat</code> | |
− | + | *podrobnější informace | |
− | + | ; <code>status</code> | |
− | + | Stručně čitelné pro člověka: | |
− | + | * PID | |
− | + | * využití paměti | |
− | + | * stavy procesů | |
− | + | *... | |
− | + | ; <code>cmdline</code> | |
− | + | * Příkazová řádka, kterou byl proces spuštěn. | |
− | * | + | ; <code>cwd</code> |
− | * | + | * Symbolický link na aktuální adresář procesu. |
− | + | ; <code>environ</code> | |
− | + | * Proměnné prostředí daného procesu. | |
− | + | ; ... a další | |
− | + | ||
− | + | ||
<div class="Priklad"> | <div class="Priklad"> | ||
Příklad: informace o procesu a jeho zabití | Příklad: informace o procesu a jeho zabití | ||
− | * | + | *Spusťte nekonečný proces na pozadí: |
− | cp /dev/zero /dev/null | + | cp /dev/zero /dev/null & |
− | + | *Zjistěte číslo procesu ve druhém sloupečku: | |
− | + | ||
− | *Zjistěte číslo procesu | + | |
ps | ps | ||
− | *Vypište informace | + | *Vypište informace o procesu |
− | cat /proc/ | + | cat /proc/''<číslo procesu>''/status |
− | cat /proc/ | + | cat /proc/''<číslo procesu>''/environ |
− | cat /proc/ | + | cat /proc/''<číslo procesu>''/cmdline |
+ | * Pošlete procesu signál pro ukončení: | ||
+ | kill -s INT ''<číslo procesu>'' | ||
</div> | </div> | ||
− | *self | + | * <code>self</code> |
− | * | + | * Je symbolický link na virtuální adresář aktuálního procesu. |
− | + | <div class="Priklad"> | |
− | + | Zkuste ze dvou různých příkazových procesů (třeba dvou terminálů) spustit: | |
− | + | cat /proc/self/status | |
+ | </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.