Você reinicia df-h, ss -s Ou systemctl --falhou a cada poucos segundos para verificar se um valor muda. O comando assistir Automatiza essa observação no terminal: executa o mesmo comando em intervalos regulares, substitui a exibição anterior e pode destacar as alterações.
Eu o utilizo para monitorar um processo, o uso de espaço em disco ou o status de um serviço durante uma breve intervenção. No entanto, um ponto deve ser levado em consideração: assistir Na verdade, ele repete o comando. Uma instrução lenta, custosa ou destrutiva será, portanto, repetida até que você a interrompa.

Verifique se o relógio está disponível.
assistir parte do pacote procps Ou procps-ng Dependendo da distribuição. Primeiro, verifique sua presença e versão:
comando -v assistir
assistir --versão
assistir --ajuda
Se o comando estiver faltando, instale o pacote correspondente:
sudo apt install procps
sudo dnf install procps-ng
sudo pacman -S procps-ng
As opções disponíveis podem variar ligeiramente dependendo da versão do procps-ng. Consulte a página do manual para obter mais informações. assistir Continua sendo a referência para verificar o comportamento instalado em sua máquina.
Atualizar um comando no intervalo escolhido
Sem opções, assistir O comando é executado novamente a cada dois segundos. Este exemplo monitora o espaço do ponto de montagem. /srv/dados :
observe 'df -h /srv/data'
O cabeçalho exibe o intervalo, o comando e a hora da última atualização. A saída é substituída a cada iteração; ela não é adicionada à tela como em um arquivo de log.
Usar -n Para escolher o intervalo em segundos. Aqui, o comando é repetido a cada cinco segundos:
watch -n 5 'df -h /srv/data'
Ajuste a frequência ao custo do comando. Um segundo é adequado para um contador local leve. Para uma requisição de rede, uma API, armazenamento lento ou um comando que itera por muitos arquivos, opte por cinco, dez ou trinta segundos. Primeiro, verifique sua duração sem assistir :
tempo df -h /srv/dados
A opção -p Requer uma sincronização mais precisa. Não combine com um comando mais lento que o intervalo: algumas versões podem encadear execuções rapidamente para compensar o tempo perdido.
Destaque as mudanças em vez de compará-las visualmente.
A opção -d Destaca as diferenças entre duas exibições sucessivas. É útil para monitorar conexões, uma fila de processos ou contadores do sistema.
assistir -d -n 1 'ss -s'
watch -d -n 2 'ps -eo pid,pcpu,pmem,comm --sort=-pcpu | head -n 12'
watch -d -n 5 'systemctl --failed --no-legend'
Para carga de CPU ou memória, assistir Oferece uma visão focada, mas sem navegação interativa. O guia sobre htop no Linux É mais adequado se você precisar classificar processos, alterar colunas e rastrear até o departamento responsável.
-g altera o uso novamente: assistir Ele para assim que a saída muda. Isso permite que você espere por uma mudança de estado sem precisar ficar em frente ao terminal:
watch -g -n 2 'systemctl is-active nginx'
Este comando é encerrado quando o texto retornado muda. Em seguida, revise o status completo e os registros antes de reiniciar qualquer coisa:
systemctl status nginx --no-pager
journalctl -u nginx -n 50 --no-pager
Se precisar fazer um inventário das unidades antes de agir, consulte também o tutorial dedicado a systemctl e serviços Linux.
Entendendo aspas, barras verticais e a opção -x
Por padrão, assistir envia o pedido para sh-cIsso é útil para usar um pipe, um redirecionamento ou várias instruções. Coloque o comando inteiro entre aspas simples para que o shell, executado em cada iteração, interprete a string completa:
watch -n 2 'ps -eo pid,pcpu,pmem,comm --sort=-pmem | head -n 10'
watch -n 5 'date; df -h /srv/data'
Sem esses apóstrofos, o tubo pode ser processado pelo seu shell atual. assistir Recebe apenas parte do comando, e o resultado já não corresponde ao que se pretendia observar.
Quando você não precisa de um tubo ou redirecionamento, -x Executa o programa diretamente com seus argumentos. Essa forma reduz problemas de escape:
watch -n 2 -x df -h /srv/dados
assistir antes do nome do comando. O processamento de opções para no primeiro argumento que não for uma opção.
Não transforme o relógio em um ciclo destrutivo.
assistir Adequado para controles de reprodução: df, livre, ss, p.s., status do systemctl ou uma consulta de saúde. Não deve ser usado em conjunto com uma ação que modifique o sistema.
- Não repita
rm,chmod,chownou um comando de particionamento. - Não coloque
reinicialização do systemctlEmassistirVocê reiniciaria o serviço a cada intervalo. - Evite pensar nisso
atualização adequada, um backup ou um script que grava no banco de dados. - Para uma API remota, escolha um intervalo que não acione a limitação de velocidade ou carga desnecessária.
Para um teste HTTP somente leitura, use uma rota de integridade projetada para essa finalidade e encerre o teste em caso de erro. -e Se a sua versão oferecer essa opção:
watch -e -n 10 'curl -fsS http://127.0.0.1:8080/health'
Um laço de concha do tipo enquanto verdadeiro É possível realizar a mesma repetição, mas isso exige que você gerencie o apagamento, o atraso, os erros e a interrupção. assistir É mais adequado para observação temporária. Para monitoramento contínuo, utilize uma ferramenta de monitoramento, um temporizador do systemd ou um script que registre os resultados.
Pare de monitorar e escolha a ferramenta certa para os registros.
Imprensa Ctrl + C parar assistirO processo observado deve ser concluído antes da próxima atualização. Se o comando permanecer travado, abra um segundo terminal para identificar seus processos antes de enviar um sinal.
pgrep -af watch
ps -o pid,ppid,stat,etime,cmd -p PID
Para acompanhar um jornal que recebe novas linhas, assistir Limpe o histórico sempre que visitar o site. Preferencialmente. journalctl -f para uma unidade systemd ou cauda -F Para um arquivo que pode ser recriado por rotação de logs:
journalctl -u nginx -f
tail -F /var/log/nginx/error.log
O guia para monitoramento de logs ao vivo e de cauda Essa diferença é detalhada. Portanto, use assistir Para comparar instantâneos curtos, é necessário recorrer a uma ferramenta que mantenha um histórico assim que a ordem dos eventos se tornar importante.