Nei sistemi operativi basati su Linux e Unix, un'istanza di comando in esecuzione è nota come processo. È possibile identificare ogni processo tramite un ID processo univoco. Linux fornisce strumenti da riga di comando per elencare, gestire e monitorare questi processi in modo efficiente.
È possibile utilizzare questi strumenti per assegnare priorità a ciascun processo o metterli in background o in primo piano per gestire le risorse di sistema in modo efficiente.
Questa guida alla gestione dei processi in Linux include strumenti come ps, kill, renice e altri comandi che aiutano gli amministratori di sistema a gestire ed elencare i processi.
Elencare i processi con il comando ps
L'utilità della riga di comando più antica e più comunemente utilizzata per elencare i processi attualmente in esecuzione su Linux è ps. Nonostante il comando superiore è un altro modo interattivo e orientato allo schermo per gestire ed elencare i processi di sistema, ps mostra anche informazioni aggiuntive come le risorse che ogni processo sta consumando.
A causa di un ambiente multiutente, ogni processo in Linux è associato a un account utente e gruppo separato. Pertanto, le informazioni sull'account con i dettagli del processo consentono di accedere alle risorse di sistema che un processo può utilizzare.
Ad esempio, i processi in esecuzione con privilegi di superutente possono accedere a più risorse di sistema rispetto a un utente normale, ed è qui che ps aiuta gli amministratori di sistema.
L'output seguente è un esempio di elenco dei processi con nomi utente, tempo trascorso e consumo di memoria e CPU associato:
Puoi anche notare la colonna STAT che mostra lo stato del processo in esecuzione. R rappresenta il processo attualmente in esecuzione, e S è un processo dormiente con un segno più che indica le operazioni in primo piano.
È possibile elencare tutti i processi dell'utente corrente, come segue:
ps ux | meno
Per elencare i processi per tutti gli utenti:
ps aux | meno
Gestione dei processi con System Monitor
System Monitor fornisce un modo grafico per visualizzare e gestire i processi. Per avviare Monitor di sistema, vai a Applicazioni > Monitor di sistema. Passa al Processi scheda per visualizzare tutti i processi in esecuzione.
Per impostazione predefinita, visualizza i processi in ordine alfabetico per l'utente corrente. È possibile riordinare l'elenco dei processi facendo clic su qualsiasi intestazione di colonna. Inoltre, puoi fare clic su %PROCESSORE e Memoria intestazioni per visualizzare i processi che consumano più potenza di elaborazione e memoria.
System Monitor ti consente di gestire i processi in vari modi, il che significa che puoi interrompere, terminare, continuare, terminare e modificare la priorità del processo semplicemente facendo clic con il pulsante destro del mouse sul nome di un processo.
È il miglior strumento di riferimento per gli utenti Linux inesperti che non sanno come lavorare con le utilità della riga di comando.
Imparentato: Come visualizzare i risultati dei processi principali e l'ordinamento per memoria
Lavorare con i processi in background/in primo piano
Arriva il momento in cui devi accedere a un sistema Linux su una rete usando solo una riga di comando. Ciò limita la gestione efficace di più programmi attivi. Ma una shell ti consente di gestire i programmi spostandoli in background e in primo piano.
Come avviare un processo in background
Per avviare un programma mentre continui a lavorare nella shell, esegui il comando, fermalo e mettilo in background usando CTRL+Z. Per eseguire un programma direttamente in background, aggiungi una e commerciale (&) alla fine del comando, come segue:
trova /usr > /tmp/allusrfiles &
Annotare il numero del lavoro e l'ID del processo. Tieni presente che non puoi eseguire comandi che richiedono l'input del terminale in background.
Puoi usare il lavori comando per visualizzare tutti i programmi/comandi in esecuzione in background o quelli che hai interrotto (usando CTRL+Z).
lavori
Come riprendere i processi in primo piano e in background
Per continuare un lavoro che hai messo in background, usa il fg comando e porterà il comando in primo piano.
fg %
Allo stesso modo, se hai interrotto l'esecuzione di un comando in background, puoi riavviarlo di nuovo in background utilizzando il comando bg, come segue:
bg %
Processi di uccisione su Linux
Proprio come uno strumento grafico come Monitor di sistema ti consente di terminare, interrompere e continuare un processo, puoi anche utilizzare strumenti da riga di comando come uccisione e uccidi tutti per inviare un segnale a un processo in esecuzione.
Oltre a uccidere semplicemente un processo, il comando kill aiuta anche a inviare segnali diversi per gestire i comportamenti del processo.
È possibile utilizzare nomi o numeri per utilizzare un segnale.
kill -numerosegnale
kill -nomesegnale
Ad esempio, i seguenti comandi inviano il segnale SIGKILL a un processo con il PID 1987:
uccidere -9 1987
uccidere -SIGKILL 1987
I segnali di processo più comunemente usati sono:
Opzione | Descrizione |
SIGKILL (9) | Uccide immediatamente il processo |
SIGTERM (15) | Termina il processo |
SIGSTOP (28/19/25) | Arresta il processo |
SIGCONT (28/19/25) | Continua il processo dopo che si è interrotto |
SIGUP (1) | Dice al processo di leggere il suo file di configurazione |
Si noti che processi diversi rispondono in modo diverso a questi segnali ma non possono interrompere i segnali SIGSTOP e SIGKILL. Digita il seguente comando per saperne di più su questi segnali:
segnale uomo 7
Per saperne di più: Come terminare i processi che non rispondono in Linux con kill e pkill
Renicing Processi su Linux
Il kernel Linux dà la priorità ai processi in esecuzione e assegna le risorse di sistema considerando i privilegi dell'account utente. Il kernel considera anche un altro fattore, che è il valore "piacevole" di ogni processo in esecuzione.
Il valore predefinito di un processo è zero, ma è possibile impostare l'intervallo tra -20 e 19. Alcuni fatti sull'impostazione priorità di processo con nice e renice i valori sono:
- Un processo con un valore piacevole basso ha più accesso alle risorse della CPU
- Un utente normale può solo ridefinire la priorità dei propri processi
- Un utente normale può impostare solo valori compresi tra -20 e 19 e può impostare solo un valore più alto
- Un superutente può impostare i processi di chiunque su qualsiasi valore, alto o basso
Gestione dei processi su Linux semplificata
Un ambiente multiutente ha diversi processi che richiedono una conoscenza sufficiente della gestione delle risorse di sistema per prevenire colli di bottiglia e vincoli di sistema. Parte dell'attività include la gestione dei processi eseguendoli in background/in primo piano, uccidendoli o eliminandoli.
Puoi anche conoscere l'utilità di comando in alto per visualizzare e ordinare i processi e imparare a terminare i processi che non rispondono su Linux.
Quando un'app Linux non risponde e si arresta in modo anomalo, come puoi ucciderla? Prova uno di questi trucchi per forzare l'uscita da un programma in Linux.
Leggi Avanti
- Linux
- Processore per computer
- Comandi Linux
- Linux elementare

Rumaisa è una scrittrice freelance al MUO. Ha indossato molti cappelli, da matematica a appassionata di sicurezza informatica, e ora lavora come analista SOC. I suoi interessi includono la lettura e la scrittura di nuove tecnologie, distribuzioni Linux e tutto ciò che riguarda la sicurezza delle informazioni.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Clicca qui per iscriverti