Gestione dei processi Linux/Unix: comandi ps, kill, top, df, free, nice

Cos'è un processo?

Un'istanza di un programma è chiamata Processo. In termini semplici, qualsiasi comando che dai alla tua macchina Linux avvia un nuovo processo.

Cos'è un processo

È possibile avere più processi per lo stesso programma.

Tipi di processi:

  • Processi in primo piano: Vengono eseguiti sullo schermo e necessitano dell'input dell'utente. Ad esempio i programmi di Office
  • Processi in background: Funzionano in background e di solito non richiedono l'input dell'utente. Ad esempio Antivirus.

Clicchi qui se il video non è accessibile

Esecuzione di un processo in primo piano

Per avviare un processo in primo piano, puoi eseguirlo dal dashboard oppure eseguirlo dal terminale.

Quando si utilizza il Terminale, sarà necessario attendere l'esecuzione del processo in primo piano.

Esecuzione di un processo in primo piano

Esecuzione di un processo in background

Se avvii un programma/processo in primo piano dal terminale, non potrai lavorare sul terminale finché il programma non sarà attivo e funzionante.

Attività specifiche ad alta intensità di dati richiedono molta potenza di elaborazione e potrebbero richiedere anche ore per essere completate. Non vuoi che il tuo terminale venga bloccato per così tanto tempo.

Per evitare una situazione del genere, puoi eseguire il programma e inviarlo in background in modo che il terminale rimanga a tua disposizione. Impariamo come farlo -

Esecuzione di un processo in background

Fg

È possibile utilizzare il comando "fg" per continuare un programma interrotto e portarlo in primo piano.

La semplice sintassi per questa utility è:

fg jobname

Esempio

  1. Avvia il lettore musicale "banshee".
  2. Interrompilo con il comando 'ctrl +z'
  3. Continua con l'utilità 'fg'.

Comando Fg

Diamo un'occhiata ad altri comandi importanti per gestire i processi:

Top

Questa utility informa l'utente su tutti i processi in esecuzione sulla macchina Linux.

Comando superiore

Premere 'q' sulla tastiera per uscire dalla visualizzazione del processo.

La terminologia è la seguente:

Settore Descrizione esempio 1 esempio 2
PID L'ID processo di ciascuna attività 1525 961
Utente Il nome utente del proprietario dell'attività Casa Radice
PR Priorità

Può essere 20(il più alto) o -20(il più basso)

20 20
NI Il bel valore di un compito 0 0
RISPETTATI Memoria virtuale utilizzata (kb) 1775 75972
RES Memoria fisica utilizzata (kb) 100 51
SHR Memoria condivisa utilizzata (kb) 28 7952
S

Stato dell'ordine

Ci sono cinque tipi:

'D' = sonno ininterrotto

'R' = correre

'S' = dormire

'T' = tracciato o fermato

'Z' = zombie

S R
%PROCESSORE % del tempo della CPU 1.7 1.0
%MEM Memoria fisica utilizzata 10 5.1
TEMPO+ Tempo totale della CPU 5:05.34 2:23.42
Comando Nome del comando Photoshop.exe Xorg

PS

Questo comando sta per "Stato del processo". È simile al "Task Manager" che viene visualizzato in un file Windows Macchina quando utilizziamo Cntrl+Alt+Del. Questo comando è simile al comando 'top' ma le informazioni visualizzate sono diverse.

Per controllare tutti i processi in esecuzione sotto un utente, utilizzare il comando –

ps ux

Comando PS

Puoi anche controllare lo stato del processo di un singolo processo, usa la sintassi –

ps PID 

Comando PS

Uccidere

Questo comando termina i processi in esecuzione su una macchina Linux.

Per utilizzare queste utilità è necessario conoscere il PID (ID processo) del processo che si desidera terminare

Sintassi –

kill PID

Per trovare il PID di un processo è sufficiente digitare

pidof Process name

Proviamolo con un esempio.

Comando Uccidi

NIZZA

Linux può eseguire molti processi alla volta, il che può rallentare la velocità di alcuni processi ad alta priorità e comportare scarse prestazioni.

Per evitare ciò, puoi dire alla tua macchina di dare la priorità ai processi in base alle tue esigenze.

Questa priorità è chiamata Niceness in Linux e ha un valore compreso tra -20 e 19. Più basso è l'indice Niceness, maggiore sarà la priorità assegnata a quell'attività.

Il valore predefinito di tutti i processi è 0.

Per avviare un processo con un valore di niceness diverso dal valore predefinito, utilizzare la seguente sintassi

nice -n 'Nice value' process name

Bel comando

Se c'è già qualche processo in esecuzione sul sistema, puoi 'renice' il suo valore usando la sintassi.

renice 'nice value' -p 'PID'

Per modificare Niceness, puoi utilizzare il comando 'top' per determinare il PID (ID processo) e il suo valore Nice. Later utilizzare il comando renice per modificare il valore.

Cerchiamo di capirlo con un esempio.

Bel comando

DF

Questa utility segnala lo spazio libero su disco (disco rigido) su tutti i file system.

Comando DF

Se desideri che le informazioni di cui sopra siano in un formato leggibile, utilizza il comando

'df -h' 

Comando DF

Gratis

Questo comando mostra la memoria libera e utilizzata (RAM) sul sistema Linux.

Comando libero

Puoi usare gli argomenti

free -m per visualizzare l'output in MB

free -g per visualizzare l'output in GB

Sommario:

  • Qualsiasi programma in esecuzione o comando dato a un sistema Linux è chiamato processo
  • Un processo potrebbe essere eseguito in primo piano o in background
  • L'indice di priorità di un processo si chiama Nice in Linux. Il suo valore predefinito è 0 e può variare tra 20 e -19
  • Più basso è l’indice di gentilezza, maggiore sarà la priorità data a quel compito
Comando Descrizione
bg Per inviare un processo in background
fg Per eseguire un processo interrotto in primo piano
top Dettagli su tutti i processi attivi
ps Fornire lo stato dei processi in esecuzione per un utente
p.s. PID Fornisce lo stato di un particolare processo
pidof Fornisce l'ID processo (PID) di un processo
uccidere PID Uccide un processo
bello Avvia un processo con una determinata priorità
renice Modifica la priorità di un processo già in esecuzione
df Fornisce spazio libero su disco rigido sul tuo sistema
gratuita Fornisce RAM gratuita sul tuo sistema