Como usar procfs para obter informações relacionadas ao sistema no Linux

Se você olhar o sistema de arquivos Linux, deve ter notado um diretório / proc com muitos números estranhos e outros arquivos dentro dele. O que este diretório faz? Na verdade, ele contém muitas informações úteis associadas ao seu sistema Linux e aos processos em execução.

Este artigo discutirá o sistema de arquivos proc em detalhes, junto com um breve guia sobre como obter informações relacionadas ao sistema usando procfs.

O que é o sistema de arquivos proc?

O sistema de arquivos proc (procfs) é uma ideia emprestada do sistema de pesquisa Plan 9 da Bell Labs , um sucessor de pesquisa do sistema Unix original desenvolvido lá.

O sistema de arquivos estende o conceito original de ter "tudo como um arquivo", incluindo dispositivos de hardware, até sua conclusão lógica, representando cada processo em execução no sistema como uma hierarquia de arquivos que você pode examinar com ferramentas padrão.

O arquivo mais útil na hierarquia proc para informações do sistema é o arquivo cpuinfo . Para visualizá-lo, digite:

 cat /proc/cpuinfo

Dependendo de quantos núcleos de CPU sua máquina possui, este arquivo pode conter muitas informações. Portanto, você pode querer substituir a maioria por cat , que é um pager do Linux .

Outros arquivos úteis no diretório / proc são meminfo , que mostra detalhes associados à memória do sistema, e o arquivo mounts , que fornece informações sobre o sistema de arquivos montado. Você pode examinar facilmente esses arquivos com ferramentas de processamento de texto Linux padrão.

Relacionado: Melhores utilitários de linha de comando para visualizar conteúdo de arquivo no Linux

No sistema de arquivos proc, todos os processos em execução têm seu próprio diretório, que é o número de identificação do processo, ou PID. Por exemplo, o processo 1, o processo init que inicia todos os outros processos no sistema Linux no momento da inicialização, tem seu próprio diretório com o mesmo número, / proc / 1 .

Ao encontrar o processo que deseja investigar, você usará o comando ps , top, htop ou outros comandos do Linux para listar o PID desse processo específico. Quando você encontrar o ID do processo, navegue até esse diretório em / proc .

Dentro do diretório do processo, você encontrará vários arquivos que contêm informações sobre diferentes facetas do processo. Por exemplo, exe é um link simbólico para o executável que iniciou o processo, variáveis de ambiente listas environ, e cmdline mostra qualquer linha de comando argumentos O processo foi lançado com. O arquivo de status lista muitas dessas informações em um formato mais "legível por humanos".

Relacionado: O que é um processo no Linux?

Obtenha informações do sistema usando procfs

O sistema de arquivos proc mostra que quase tudo é um arquivo no Linux, mesmo coisas que você não esperaria. Mesmo dentro da pasta raiz, você encontrará muitos arquivos, cada um deles contendo informações sobre diferentes componentes do sistema.

Linux, com seus comandos exclusivos e incontáveis ​​distros, pode parecer um sistema operacional misterioso para iniciantes no início, mas tudo está em seu lugar certo.