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.

instagram viewer

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.

7 modi per eliminare i programmi che non rispondono in 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

CondividereTwittaE-mail
Argomenti correlati
  • Linux
  • Processore per computer
  • Comandi Linux
  • Linux elementare
Circa l'autore
Rumaisa Niazi (13 articoli pubblicati)

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.

Altro da Rumaisa Niazi

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti