No Linux, um princípio fundamental é que tudo é tratado como um arquivo. Esse conceito se estende aos processos em execução, cujas informações são armazenadas dinamicamente em um sistema de arquivos virtual especial conhecido como /proc.
Explorando o Diretório /proc
O sistema de arquivos /proc não é um sistema de arquivos real no seu disco rígido; ele é criado na memória pelo kernel. Ele fornece uma janela para as estruturas de dados internas do kernel e o estado do sistema.
Para ver seu conteúdo, você pode listar os arquivos e diretórios dentro dele:
ls /proc
Você verá muitos diretórios numerados. Cada número corresponde ao ID do Processo (PID) de um processo em execução no momento. Você também encontrará outros arquivos como cpuinfo e meminfo que fornecem informações de hardware do sistema.
Acessando Informações Específicas do Processo
Se você identificar um PID usando um comando como ps, poderá encontrar seu diretório correspondente em /proc para obter informações mais detalhadas. Por exemplo, para inspecionar um processo com PID 12345, você pode olhar dentro de seu arquivo de status:
cat /proc/12345/status
Este comando exibirá informações detalhadas sobre o processo, incluindo seu estado (por exemplo, dormindo, em execução), uso de memória e ID do usuário. O diretório /proc oferece a visão direta do kernel sobre o processo, fornecendo muito mais dados do que as ferramentas padrão.
Um Painel de Dados do Sistema
Pense no sistema de arquivos /proc como a fonte de dados brutos para muitas ferramentas de monitoramento de sistema. Utilidades como top, ps e htop leem de /proc para apresentar informações em um formato amigável. Ele contém uma riqueza de detalhes extras que essas ferramentas podem não mostrar por padrão.
Ao acessar diretamente os arquivos dentro de /proc, você pode coletar métricas específicas para construir scripts personalizados ou um painel de monitoramento adaptado às suas necessidades. É uma interface poderosa para observar e entender o funcionamento interno do seu sistema Linux.