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 5Capire 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 -lEsempio 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 12345Verifica 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
- Gestione dei processi (ps, top, kill)
- Redirezione dell'input/output (>, >>, <)
- Pipeline di comandi (|)
- Job in background e controllo dei job