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.
È 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 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 -
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
- Avvia il lettore musicale "banshee".
- Interrompilo con il comando 'ctrl +z'
- Continua con l'utilità '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.
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
Puoi anche controllare lo stato del processo di un singolo processo, usa la sintassi –
ps PID
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.
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
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.
DF
Questa utility segnala lo spazio libero su disco (disco rigido) su tutti i file system.
Se desideri che le informazioni di cui sopra siano in un formato leggibile, utilizza il comando
'df -h'
Gratis
Questo comando mostra la memoria libera e utilizzata (RAM) sul sistema Linux.
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 |