Blog Linux Avante

procs é um substituto moderno para ps com saída colorida, informações adicionais (escrito em Rust)

18 de maio de 2021

procs é um substituto moderno para ps escrito em Rust. Em comparação com ps, ele vem com saída colorida e legível para humanos, informações adicionais como porta TCP/UDP, taxa de transferência de leitura/gravação, mais informações de memória e nome do contêiner de docker e muito mais.

A ferramenta é executada no Linux, e também há suporte experimental para macOS e Windows, embora algumas informações não estejam disponíveis neles. Além disso, o pager não é suportado no Windows.

Recursos do procs incluem:

  • Colorido, formato de saída para humanos com detecção automática do tema com base no fundo do terminal
  • Pesquisa de palavras-chave pela multi-coluna
  • Suporte a pager
  • Modo de observação como o top (--watch ou --watch-interval <seconds>, que tem alguns atalhos adicionais de teclado (n para alterar a coluna de classificação para o próximo, p para alterar o tipo para a coluna anterior, a altera a ordem de classificação para ascensão, d altera o tipo para descendente e q para sair)
  • Vista de árvore (--tree)
  • Pode exibir informações não suportadas pelo ps, como:
    • Portas TCP/UDP
    • Leitura/gravação de gravação
    • Nome do contêiner de Docker
    • Mais informações de memória

Por padrão, procs mostra apenas o PID, Usuário, TTY, CPU, MEM, tempo de CPU e colunas de comando, mas você pode adicionar vários outros tipos de informações. Você pode encontrar uma lista com o tipo de informação que procs deve exibir, bem como uma comparação com ps e os tipos de informações que estão ou não estão disponíveis no macOS e Windows, aqui.

Instalando procs

Baixar procs

Há pacotes procs para muitas distribuições Linux, incluindo Linux Alpine, Arch Linux e Fedora, bem como pacotes Snap genéricos. Você também pode instalar a ferramenta usando o Cargo. No macOS, procs pode ser instalado a partir do homebrew.

Você também encontrará binários pré-compilados na página de lançamentos do projeto, para Linux (genérico binário e rpm), macOS e Windows (X86_64 apenas para todas as plataformas).

Você pode instalar o pacote genérico Linux (o pacote -lnx.zip) por extraí-lo, abrir um terminal e navegar até a pasta onde você extraiu o arquivo ZIP e instalá-lo usando:

Comandos para usar no terminal

sudo install procs /usr/local/bin

Uso Básico

Para usar procs, rode o executável e ele mostrará informações sobre todos os processos em execução:

Comandos para usar no terminal

procs

Passe uma palavra-chave não numérica como argumento, e procs procurará esta palavra-chave e corresponderá a USER, Command por padrão (para palavras-chave não numéricas, isso é tratado como uma correspondência parcial por padrão). Por exemplo.:

Comandos para usar no terminal

procs firefox

Screenshot da saída:

procs-name.webp

Ao passar uma palavra-chave numérica como um argumento, procs corresponde a PID por padrão, tratando-o como uma correspondência exata. Por exemplo.:

Comandos para usar no terminal

procs 6171

Captura de tela da saída deste comando:

procs-pid.webp

Ao pesquisar, você pode usar operadores lógicos como -a, --and, -o, --or, -d, --nand e -r, --nor.

Configuração

Você pode configurar procs usando usando flags de linha de comando (consulte procs --help) ou usando seu arquivo de configuração. Você pode gerar um arquivo de configuração de amostra usando:

Comandos para usar no terminal

procs --config

Copie a saída deste comando começando com [[columns]] até o fim, em seguida, crie o arquivo de configuração do procs no Linux usando:

Comandos para usar no terminal

mkdir -p ~/.config/procs/config.tomltouch ~/.config/procs/config.toml

Agora abra ~/.config/procs/config.toml com um editor de texto de sua escolha e cole a saída procs --config (de [[columns]] para a parte inferior da saída do comando). Salve o arquivo quando terminar.

Com a configuração básica no lugar, configurar procs para seu gosto deve ser fácil. Por exemplo, vamos adicionar 2 novas colunas para exibir informações sobre portas TCP e UDP. Copie a seguinte configuração:

[[columns]]
kind = "TcpPort"
style = "BrightYellow|Yellow"
numeric_search = false
nonnumeric_search = true
align = "Left"

[[columns]]
kind = "UdpPort"
style = "BrightYellow|Yellow"
numeric_search = false
nonnumeric_search = true
align = "Left"

E cole no arquivo ~/.config/procs/config.toml, em algum lugar entre o outro [[columns]], onde você deseja que as colunas TCP e UDP sejam exibidas. Você também pode adicionar um separador antes e depois dessas 2 colunas TCP e UDP:

[[columns]]
kind = "Separator"
style = "White|BrightBlack"
numeric_search = false
nonnumeric_search = false
align = "Left"

Quando você terminar, salve o arquivo e execute procs. Você deve ver duas novas colunas mostrando portas TCP e UDP. Por exemplo, aqui estão as portas usadas pelo QBittorrent no meu computador, usando essa configuração:

procs-tcp-udp.webp

Da mesma forma você pode adicionar muitos outros tipos de coluna. Por exemplo. Para adicionar nomes de contêineres de Docker, adicione Docker como o tipo de coluna. Você pode encontrar muitos outros tipos de colunas (referenciadas como "Kind" na documentação procs) que você pode adicionar. Veja uma lista completa aqui.

No arquivo de configuração procs, você também pode especificar as cores a serem usadas, estilo, definir pesquisas numéricas e não numéricas para exatas ou parciais, definir a coluna padrão para classificar e se ele deve classificar ascendendo ou descendendo, e mais.

Confira a versão original desse post em inglês
Propaganda
Blog Comments powered by Disqus.
Propaganda