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 DevOps Bootcamp 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 DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp 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 DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp 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 DevOps Bootcamp 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 DevOps Bootcamp?
Non è richiesta alcuna esperienza precedente. DevOps Bootcamp 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 DevOps Bootcamp?
Sì. Ogni lezione DevOps Bootcamp 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