Adresář /proc

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Podadresáře: Oprava příkladu na self)
(Informace o hardware: Opraven vzhled, doplněn příkaz pro zjištění verze distribuce)
 
(Není zobrazena 1 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]
  
== Adresář <tt>/proc</tt> ==
+
== Úvod ==
*Soubory jsou jen virtuální, ve skutečnosti neexistují.
+
; K čemu je <tt>/proc</tt>?
**Systém je vytváří za běhu, je-li vznesen požadavek.
+
* 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 55: Řádka 63:
  
 
== Informace o hardware ==
 
== Informace o hardware ==
*/proc/cpuinfo
+
<code>/proc/cpuinfo</code>
**Instrukční sady
+
* Obsahuje informace o procesoru počítače.
***podpora AES
+
* Například: instrukční sady (podpora AES, podpora virtualizace,...)
***podpora virtualizace
+
<code>/proc/meminfo</code>
*/proc/meminfo
+
* Informace o velikosti a využití operační paměti.
*/proc/version
+
<code>/proc/version</code>
**Verze kernelu.
+
* Verze kernelu.
**Totéž, co:
+
* Totéž, co: <code>uname -srv</code>
***uname -srv
+
<div class="Poznamka">
**Verze distribuce <../linux/linux.mm>
+
Verzi nainstalované distribuce Linuxu zjistíme v různých distribucích různě.
*/proc/interrupts
+
V Debianu můžeme použít:
*/proc/cmdline
+
lsb_release -a
**Parametry při spuštění kernelu.
+
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
*/proc/filesystems
+
<code>/proc/filesystems</code>
**/proc/partitions
+
<code>/proc/partitions</code>
**/proc/sys/fs/file-nr
+
<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ů;
+
*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ší
+
; Další:
**/proc/apm/
+
<code>/proc/apm/</code>
 
***Advanced Power Management
 
***Advanced Power Management
**/proc/acpi/
+
<code>/proc/acpi/</code>
**/proc/net/
+
<code>/proc/net/</code>
***Údaje o síti.
+
*Údaje o síti.

Aktuální verze z 27. 7. 2014, 06:31


Obsah

Zdroje

Úvod

K čemu je /proc?
Obvykle jen pro čtení
echo 1 > /proc/sys/net/ipv4/ip_forward
/proc je virtuální adresář!

Podadresáře

stat
status

Stručně čitelné pro člověka:

cmdline
cwd
environ
... 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>

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

/proc/meminfo

/proc/version

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

Informace o discích

/proc/filesystems /proc/partitions /proc/sys/fs/file-nr

Další

/proc/apm/

/proc/acpi/ /proc/net/

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje