![]() |
Python - Utilizando a biblioteca psutil para monitorar processos |
|
@CanalQb |
Monitorando processos chromedriver com psutil em Python
A biblioteca psutil é uma ferramenta poderosa para acessar informações sobre processos e recursos do sistema operacional, diretamente pelo Python. Com ela, é possível listar, monitorar e manipular processos em execução, o que é especialmente útil para desenvolvedores que trabalham com automação de navegadores usando ChromeDriver.
O que faz o comando apresentado
O código apresentado lista todos os processos ativos no sistema que contêm "chromedriver" no nome e coleta informações detalhadas sobre eles, como PID, nome, tempo de criação e argumentos de execução.
Esse monitoramento é essencial para quem deseja controlar processos automatizados, evitar múltiplas instâncias desnecessárias ou diagnosticar problemas relacionados ao ChromeDriver.
Exemplo de uso do psutil para listar processos chromedriver
import psutil
# Lista todos os processos cujo nome contém "chromedriver"
webdriver_processes = [p.info for p in psutil.process_iter(['pid', 'name', 'create_time', 'cmdline']) if p.info['name'] and 'chromedriver' in p.info['name'].lower()]
# Exibe informações detalhadas de cada processo encontrado
for process in webdriver_processes:
print("PID: ", process['pid'])
print("Nome: ", process['name'])
print("Tempo de execução: ", process['create_time'])
print("Argumentos: ", process['cmdline'])
print("--------------------------")
Explicação do código
- psutil.process_iter(['pid', 'name', 'create_time', 'cmdline']): percorre todos os processos ativos retornando as informações indicadas para otimizar performance.
- Filtragem pelo nome: verifica se o nome do processo contém "chromedriver" (case-insensitive) para garantir que somente processos relacionados sejam listados.
- Impressão dos dados: exibe PID, nome, tempo de criação (em timestamp Unix) e argumentos da linha de comando usados para iniciar o processo.
Contexto técnico e histórico
O psutil (Python system and process utilities) é uma biblioteca multiplataforma que facilita o acesso a informações do sistema operacional, incluindo uso de CPU, memória, discos, redes e processos. Criada para simplificar tarefas complexas de monitoramento e gerenciamento, é amplamente utilizada para automação, análise de desempenho e troubleshooting.
Na automação de navegadores, como em testes com Selenium WebDriver, o controle dos processos do ChromeDriver é fundamental para evitar conflitos e garantir o encerramento correto das sessões, especialmente em ambientes de integração contínua ou servidores.
Recomendações de uso e segurança
- Execute scripts de monitoramento com privilégios adequados para acessar informações completas dos processos.
- Evite interromper processos críticos sem validação, pois isso pode afetar a estabilidade do sistema ou de aplicações em execução.
- Para ambientes produtivos, implemente logs e alertas para gerenciar processos automaticamente.
Conclusão
O uso do psutil em Python é uma solução eficiente para monitorar processos específicos, como o chromedriver, fornecendo dados úteis para automação, controle e diagnóstico. Com o exemplo fornecido, você pode adaptar o código para suas necessidades, garantindo maior controle sobre seus processos e evitando problemas comuns em automações de navegador.