Cada sistema Linux tem um diretório /proc. Na realidade, este não é um sistema real de arquivos, por isso não existe um nome de dispositivo no primeiro campo na entrada /proc no arquivo /etc/fstab. Ao invés disso, é uma interface nas estruturas de dados do kernel que oferece informações sobre os processos que estão sendo executados.
É importante observar que o root (administrador de sistema) não trabalha diretamente com o diretório /proc.
Para visualiazar quais os processos que utilizam um determinado arquivo e/ou diretório, use o comando fuser.
São exemplos de arquivos armazenados neste diretório |
/proc
|-- cpuinfo
|-- devices
|-- filesystems
|-- interrupts
|-- meminfo
|-- modules
|-- mounts
|-- pci
|-- version
cpuinfo |
Este arquivo possui as informações sobre o processador do sistema tais como modelo, capacidade, velocidade, fabricante, tamanho da cache, etc. Abaixo temos um exemplo deste arquivo para um Pentium-III 800.
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 8 model name : Pentium III (Coppermine) stepping : 6 cpu MHz : 800.036 cache size : 256 KB fdiv_bug : no hlt_bug : no sep_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr xmm bogomips : 1595.80
devices |
Este arquivo possui a lista dos dispositivos E/S ativos no sistema.
Character devices:
1 mem
2 pty
3 ttyp
4 ttyS
5 cua
7 vcs
10 misc
14 sound
29 fb
36 netlink
128 ptm
36 pts
Block devices:
1 ramdisk
2 fd
3 ide0
9 md
filesystems |
Este arquivo possui a lista dos sistemas de arquivos que o Linux suporta.
O exemplo abaixo mostra que o kernel suporta os sistemas de arquivos ext2, iso9660 e msdos. Isto significa que é possível montar um sistema de arquivos DOS ou Windows a partir do Linux (que tem sistema de arquivos ext2). Além disso, é também possível montar um CD-ROOM (o sistema de arquivos iso9660 é do tipo read-only).
ext2
nodev proc
iso9660
nodev devpts
msdos
interrupts |
Este arquivo possui uma lista com a contagem das interrupções processadas pelo sistema. Abaixo temos um exemplo deste arquivo onde temos o número da interrupção, a quantidade de interrupções detectadas pelo sistema e a descrição da interrupção.
CPU0 0: 2171480 XT-PIC timer 1: 29000 XT-PIC keyboard 2: 0 XT-PIC cascade 8: 1 XT-PIC rtc 9: 0 XT-PIC usb-uhci 11: 55380 XT-PIC eth0 12: 277454 XT-PIC PS/2 Mouse 13: 1 XT-PIC fpu 14: 372350 XT-PIC ide0 15: 2 XT-PIC ide1 NMI: 0
meminfo |
Este arquivo possui informações a respeito da memória do sistema.
total: used: free: shared: buffers: cached: Mem: 124289024 120963072 3325952 0 8630272 54439936 Swap: 65765376 0 65765376
MemTotal: 121376 kB MemFree: 3248 kB MemShared: 0 kB Buffers: 8428 kB Cached: 53164 kB BigTotal: 0 kB BigFree: 0 kB SwapTotal: 64224 kB SwapFree: 64224 kB
modules |
Este arquivo possui a lista dos módulos do kernel que estão carregados na memória.
Suponha o seguinte exemplo:
Module Size Used by parport_pc 5620 0 (autoclean) parport 7124 0 (autoclean) [parport_pc] nfsd 149048 8 (autoclean) lockd 30888 1 (autoclean) [nfsd] sunrpc 52548 1 (autoclean) [nfsd lockd] aic7xxx 105584 5
Temos as seguintes informações para cada módulo: nome, tamanho, contador de uso e lista dos módulos que referenciam o módulo em questão.
mounts |
Este arquivo possui a lista dos sistemas de arquivos montados (veja o comando mount).
O arquivo /proc/mounts normalmente possui mais informações, tais como opções de montagem usadas, do que o arquivo /etc/mtab. Embora estas informações não estejam necessariamente atualizadas.
pci |
Este arquivo possui as informações sobre os dispositivos e capacidades do barramento PCI. Abaixo é mostrado um pequeno exemplo.
version |
Este arquivo possui a versão, a data e a hora da compilação do kernel. Por exemplo,
Linux version 2.2.17-14cl ([email protected]) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 qui nov 2 00:24:54 EST 2000