0Pricing
Linux Command Line & Bash Scripting Mastery · Lezione

Gestione dei processi (ps, top, kill)

Impari a elencare, monitorare e terminare i processi in esecuzione sul sistema, comprendendo gli ID e gli stati dei processi.

Gestione dei processi (ps, top, kill) è una lezione Linux Command Line & Bash Scripting Mastery gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Linux Command Line & Bash Scripting Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Command Line & Bash Scripting Mastery include 4 lezioni in totale.

Cosa sono i processi?

In Linux, un processo è un'istanza di un programma in esecuzione. Ogni comando eseguito e ogni applicazione aperta viene eseguito come uno o più processi.

  • I processi sono gestiti dal sistema operativo.
  • Comprenderli è fondamentale per monitorare lo stato del sistema e risolvere i problemi.

Elencare i processi con `ps`

Il comando ps (process status) viene usato per visualizzare informazioni sui processi attualmente in esecuzione.

Per impostazione predefinita, mostra i processi associati alla sessione del terminale corrente.

Informazioni dettagliate sui processi (`ps aux`)

Per visualizzare tutti i processi in esecuzione nel sistema, inclusi quelli avviati da altri utenti o dai servizi di sistema, si usano opzioni come aux o -ef.

  • ps aux: mostra tutti i processi, inclusi quelli non associati a un terminale.
  • ps -ef: mostra tutti i processi in un formato di elenco completo.

Provi a eseguire ps aux e a inviarne l'output a head tramite una pipe per visualizzare le prime righe:

ps aux | head -n 5

Capire l'output di `ps`

L'output di ps aux fornisce diverse colonne importanti:

  • USER: l'utente proprietario del processo.
  • PID: Process ID univoco.
  • %CPU: percentuale di utilizzo della CPU.
  • %MEM: percentuale di utilizzo della memoria.
  • COMMAND: il comando che ha avviato il processo.

Il PID è particolarmente importante per la gestione dei processi.

Monitoraggio in tempo reale con `top`

Mentre ps fornisce un'istantanea, il comando top offre una visualizzazione dinamica e in tempo reale dei processi in esecuzione.

Si aggiorna continuamente e mostra i processi che stanno consumando più risorse.

Interpretare le metriche di `top`

Quando esegue top, nella parte superiore viene visualizzato un riepilogo, seguito dall'elenco dei processi.

  • Load Average: carico medio del sistema negli ultimi 1, 5 e 15 minuti.
  • Tasks: numero totale di processi, in esecuzione, in attesa, arrestati e zombie.
  • %Cpu(s): utilizzo della CPU.
  • Mem: memoria totale, libera, utilizzata e impiegata come buffer.
  • Process List: colonne simili a quelle di ps, ma ordinate costantemente (per impostazione predefinita in base alla CPU).

Trovare processi specifici

Può combinare ps con grep per filtrare processi specifici, ad esempio per trovare tutti i processi relativi a 'bash'.

La parte grep -v grep serve a escludere dai risultati il comando grep stesso.

ps aux | grep -i "bash" | grep -v "grep"

Terminare i processi con `kill`

A volte un processo può bloccarsi o consumare troppe risorse. Il comando kill consente di inviare segnali ai processi, in genere per terminarli.

È necessario conoscere il PID del processo che si desidera terminare.

Capire i segnali di `kill`

Quando usa kill, invia un «segnale» a un processo. Il segnale predefinito è SIGTERM (15), che chiede al processo di arrestarsi correttamente.

  • kill PID: invia SIGTERM.
  • kill -9 PID: invia SIGKILL. È una terminazione forzata che il processo non può ignorare. Lo utilizzi con cautela.

Può elencare tutti i segnali disponibili con kill -l:

kill -l

Esempio pratico di `kill`

Esercitiamoci a terminare un semplice processo in background. Avvieremo un comando sleep in background, ne troveremo il PID e poi potrà usare kill per arrestarlo.

Esegua il codice qui sotto. Al termine, vedrà il PID del processo sleep. Poi, nel terminale, digiti manualmente kill <PID> (sostituendo <PID> con il numero effettivo) per arrestarlo.

# Step 1: Start a dummy process in the background
sleep 300 &
echo "Sleep process started. Now finding its PID..."

# Step 2: Find its Process ID (PID)
# Look for the 'sleep' process in the output
ps aux | grep -i "sleep" | grep -v "grep"

# Step 3: To kill it, manually type 'kill <PID>'
# Example: kill 12345

Verifica rapida: gestione dei processi

Ha imparato a elencare, monitorare e terminare i processi. Verifichiamo la sua comprensione.

Riepilogo: gestione dei processi

Ottimo lavoro. In questa lezione ha imparato i comandi Linux essenziali per la gestione dei processi:

  • ps: elenca i processi e fornisce un'istantanea del loro stato.
  • top: monitora in tempo reale e dinamicamente i processi di sistema e l'utilizzo delle risorse.
  • kill: invia segnali ai processi, principalmente per terminarli in modo corretto (SIGTERM) o forzato (SIGKILL).

Questi strumenti sono fondamentali per l'amministrazione del sistema e la risoluzione dei problemi.

Domande Frequenti

La lezione «Gestione dei processi (ps, top, kill)» è gratuita?

Sì — il testo completo di «Gestione dei processi (ps, top, kill)» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Linux Command Line & Bash Scripting Mastery, passa a CoddyKit PRO. Il corso Linux Command Line & Bash Scripting Mastery include 4 lezioni in totale.

Cosa imparerò in «Gestione dei processi (ps, top, kill)»?

Impari a elencare, monitorare e terminare i processi in esecuzione sul sistema, comprendendo gli ID e gli stati dei processi. Eserciti Linux Command Line & Bash Scripting Mastery con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Linux Command Line & Bash Scripting Mastery?

Non è richiesta alcuna esperienza precedente. Linux Command Line & Bash Scripting Mastery su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Gestione dei processi (ps, top, kill)»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Linux Command Line & Bash Scripting Mastery?

Sì. Ogni lezione Linux Command Line & Bash Scripting Mastery include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Gestione dei processi (ps, top, kill)
  2. Redirezione dell'input/output (>, >>, <)
  3. Pipeline di comandi (|)
  4. Job in background e controllo dei job
← Torna a Linux Command Line & Bash Scripting Mastery