O utilitário progress permite observar o andamento de processos dentro do coreutils.
A ferramenta, escrita em C e voltada para os sistemas operacionais GNU/Linux, exibe o progresso de comandos básicos, como o cp, mv, dd, tar, cat, rsync, grep, fgrep, egrep, cut, sort, md5sum, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum, adb, gzip, gunzip, bzip2, bunzip2, xz, unxz, lzma, unlzma, zcat, bzcat, lzcat etc.
O GNU Core Utilities ou coreutils são o conjunto de utilitários básicos para manipulação de texto, de arquivos e da shell dos sistemas operacionais GNU/Linux.
Se um destes estiver rodando, o progress irá capturar e exibir informações sobre a transferência de dados, o tempo que ainda falta para finalizar etc.
Embora não venha instalado em algumas distribuições, é fácil encontrar o pacote de instalação nos repositórios.
No Debian, use o apt, para fazer a instalação:
sudo apt install progress
Se um dos comandos, citados acima, estiver em execução, a qualquer momento o progress pode capturar informações sobre ele.
Experimente com um procedimento mais demorado, como o cp, para copiar uma quantidade de arquivos grandes de uma unidade para outra.
No meu exemplo, abaixo, iniciei a cópia de um arquivo de backup de mais de 1 GB para uma unidade flash USB.
cp -r Música/ /media/justincase/yellow/ &
[1] 1056
Usei o ‘&’, acima, para enviar o processo para o segundo plano e liberar o terminal para o próximo comando:
progress -w
[ 1056] cp /home/justincase/Música/arquivo-de-musica.flac
74.9% (32.5 MiB / 43.4 MiB)
Como você pode ver, acima, o progress exibe o progresso da cópia do arquivo atual (74%) e sai.
Você pode invocar o programa outras vezes, para saber o andamento da cópia.
Se achar melhor, pode combiná-lo com o watch, para poder observar o progresso on the fly:
watch progress -w
Veja um exemplo de acompanhamento da verificação do shasum da imagem ISO do Ubuntu:
sha512sum ubuntu-17.10-desktop-amd64.iso & watch progress -w
Se houver processos dos coreutils rodando, a ferramenta irá captar e exibir informações sobre todos eles.
Para obter uma visualização mais enxuta, use a opção ‘-q’:
progress -q
[ 2119] sha256sum /home/justincase/Downloads/ubuntu-17.10-desktop-amd64.iso
7.4% (105.3 MiB / 1.4 GiB)
[ 2118] sha512sum /home/justincase/Downloads/ubuntu-17.10-desktop-amd64.iso
11.5% (164.3 MiB / 1.4 GiB)
Neste modo, o tempo restante para a conclusão (remaining) de cada processo não é exibido.
Para enxugar, mais ainda, a linha de comando, use as opções ‘-m’ ou ‘-M’.
Elas substituem o uso do watch!
progress -m
Outra vantagem do uso de ‘-m’, é que a tela fica menos suja, após a execução dos comandos, e permite ver melhor o resultado de cada.
O ‘-M’, mantém o monitoramento continuadamente.
Este pode ser ideal, para execução em um terminal à parte, onde os coreutils podem ser capturados e monitorados o tempo todo no seu sistema.
2 replies on “Use o progress para monitorar processos no Linux”
top -i ( ubuntu ) 🙂
$ top -i ( comando do terminal ubuntu )
O comando “top” é um utilitário disponibilisado pelo Linux para monitorar o desempenho do sistema.
Abra um terminal e digite o comando top, isso irá listar os processos que estão consumindo mais CPU do sistema a tela será atualizada a cada 5 segundos listados em ordem crescente, mostrando também o uso de memória, o PID do processo e também o tempo de execução do referido processo.
https://www.facebook.com/photo/?fbid=2785396788375068&set=a.1900158486898907
Obrigado pela dica!