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

Sommario:

Anonim

In questo tutorial imparerai-

  • Cos'è un processo?
  • Esecuzione di un processo in primo piano
  • Esecuzione di un processo in background
  • Fg
  • Superiore
  • PS
  • Uccidere
  • SIMPATICO
  • DF
  • Gratuito

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 richiedono l'input dell'utente. Ad esempio i programmi di Office
  • Processi in background: vengono eseguiti in background e di solito non richiedono l'input dell'utente. Ad esempio Antivirus.

Fare clic qui se il video non è accessibile

Esecuzione di un processo in primo piano

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

Quando si utilizza il Terminale, sarà necessario attendere fino a quando non viene eseguito il processo in primo piano.

Esecuzione di un processo in background

Se avvii un programma / processo in primo piano dal terminale, non puoi lavorare sul terminale finché il programma non è attivo e in esecuzione.

Particolari attività ad alta intensità di dati richiedono molta potenza di elaborazione e possono anche richiedere ore per essere completate. Non vuoi che il tuo terminale rimanga 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 che era stato interrotto e portarlo in primo piano.

La semplice sintassi per questa utility è:

fg jobname

Esempio

  1. Avvia il lettore musicale "banshee"
  2. Fermalo con il comando "ctrl + z"
  3. Continua con l'utility "fg".

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

Superiore

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 segue:

Campo 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 (massima) o -20 (minima) 20 20
NI Il bel valore di un compito 0 0
VIRT Memoria virtuale utilizzata (kb) 1775 75972
RES Memoria fisica utilizzata (kb) 100 51
SHR Memoria condivisa utilizzata (kb) 28 7952
S

Stato

Esistono cinque tipi:

'D' = sonno ininterrotto

'R' = in esecuzione

'S' = dormire

'T' = tracciato o interrotto

"Z" = zombi

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

PS

Questo comando sta per "Process Status". È simile al "Task Manager" che si apre in una macchina Windows quando usiamo Cntrl + Alt + Canc. Questo comando è simile al comando "top" ma le informazioni visualizzate sono diverse.

Per controllare tutti i processi in esecuzione sotto un utente, usa 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 eliminare

Sintassi -

kill PID

Per trovare il PID di un processo è sufficiente digitare

pidof Process name

Proviamolo con un esempio.

SIMPATICO

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

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

Questa priorità è chiamata Niceness in Linux e ha un valore compreso tra -20 e 19. Più basso è l'indice di 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 gentilezza diverso dal valore predefinito, utilizzare la seguente sintassi

nice -n 'Nice value' process name

Se sul sistema è già in esecuzione un processo, è possibile "Rinominare" il suo valore utilizzando la sintassi.

renice 'nice value' -p 'PID'

Per cambiare Niceness, puoi usare il comando 'top' per determinare il PID (process id) e il suo valore Nice. Successivamente utilizzare il comando renice per modificare il valore.

Cerchiamo di capire questo con un esempio.

DF

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

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

'df -h' 

Gratuito

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 un 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 da 20 a -19
  • Più basso è l'indice di gentilezza, maggiore sarà la priorità data a tale compito
Comando Descrizione
bg Per inviare un processo in background
fg Per eseguire un processo interrotto in primo piano
superiore Dettagli su tutti i processi attivi
ps Fornisci lo stato dei processi in esecuzione per un utente
ps PID Fornisce lo stato di un particolare processo
pidof Fornisce l'ID processo (PID) di un processo
uccidere PID Uccide un processo
simpatico Avvia un processo con una data priorità
renice Modifica la priorità di un processo già in esecuzione
df Fornisce spazio libero su disco rigido nel sistema
gratuito Fornisce RAM gratuita sul tuo sistema