Come visualizzare i processi Python in esecuzione?

Pubblicato 8 settembre 2024

Problema: Identificare i Processi Python in Esecuzione

Monitorare i processi Python attivi è importante per gestire le risorse di sistema e risolvere problemi di prestazioni. Può essere difficile tenere traccia di più script Python in esecuzione contemporaneamente, soprattutto quando si lavora con applicazioni complesse o attività automatizzate.

Utilizzo del Comando 'ps' per Elencare i Processi Python

Uso Base del Comando 'ps'

Il comando 'ps' mostra informazioni sui processi attivi su un sistema Unix-like. Visualizza uno snapshot dei processi correnti, inclusi il loro Process ID (PID), il terminale, l'uso della CPU e altro.

Per elencare i processi Python usando 'ps', combinalo con il comando 'grep':

ps aux | grep python

Questo comando mostra i processi che contengono "python" nel loro nome o nella riga di comando. Le opzioni 'aux' forniscono una vista dettagliata di tutti i processi per tutti gli utenti.

Suggerimento: Escludere grep dai risultati

Per escludere il comando 'grep' stesso dai risultati, usa il seguente comando:

ps aux | grep '[p]ython'

Questo trucco usa le parentesi quadre intorno alla prima lettera, che corrisponde a 'python' ma non a '[p]ython', filtrando efficacemente il processo grep stesso.

Opzioni Avanzate di 'ps' per Informazioni Dettagliate

Per maggiori dettagli sui processi Python, usa questi flag con il comando 'ps':

ps -eo pid,ppid,user,%cpu,%mem,start,time,command | grep python

Questo comando fornisce:

  • PID: ID del processo
  • PPID: ID del processo genitore
  • USER: Utente che esegue il processo
  • %CPU: Utilizzo della CPU
  • %MEM: Utilizzo della memoria
  • START: Ora di avvio del processo
  • TIME: Tempo CPU
  • COMMAND: Riga di comando completa

Per leggere questo output:

  1. Controlla il PID per identificare processi specifici.
  2. Guarda le colonne %CPU e %MEM per l'utilizzo delle risorse.
  3. Le colonne START e TIME mostrano quando il processo è iniziato e il suo tempo di esecuzione.
  4. La colonna COMMAND mostra il comando Python completo, che può aiutare a identificare lo script o l'applicazione.

Utilizzare queste opzioni di 'ps' ti dà una chiara visione dei tuoi processi Python e del loro utilizzo delle risorse.

Utilizzo di 'pgrep' per l'Identificazione dei Processi Python

Introduzione a 'pgrep'

'pgrep' è uno strumento che cerca processi in base ai loro nomi o attributi. Aiuta a trovare gli ID dei processi (PID) dei programmi in esecuzione. 'pgrep' è semplice e può filtrare facilmente i processi.

Per usare 'pgrep' con Python, usa questa sintassi di base:

pgrep python

Questo comando elenca i PID dei processi con "python" nel loro nome. Per maggiori dettagli, usa il flag '-l':

pgrep -l python

Questo mostra sia il PID che il nome del processo.

Suggerimento: Usare 'pgrep' con Espressioni Regolari

Puoi usare espressioni regolari con 'pgrep' per una corrispondenza più precisa. Per esempio, per trovare processi Python con numeri di versione:

pgrep -f "python23?"

Questo corrisponde a processi come "python3", "python3.8", o "python2.7".

Combinare 'pgrep' con Altri Comandi

Puoi combinare 'pgrep' con altri comandi per più operazioni. Ecco alcuni esempi:

Per terminare tutti i processi Python:

pkill -f python

Per vedere le righe di comando complete dei processi Python:

pgrep -af python

Per elencare i processi Python di un utente specifico:

pgrep -u nomeutente python

Per contare i processi Python in esecuzione:

pgrep python | wc -l

Per ottenere informazioni dettagliate sui processi Python:

pgrep python | xargs ps -fp