Introduzione
Ogni applicazione che usi o un comando che esegui sul tuo sistema Linux crea un processo o un'attività. In qualità di amministratore di sistema, dovrai gestire i processi per garantire prestazioni di sistema ottimali.
In questo tutorial tratteremo diversi comandi Linux che puoi utilizzare per elencare e gestire i processi attualmente in esecuzione.
Prerequisiti
- Un sistema che esegue Linux
- Un account con privilegi di root o sudo
- Accesso alla finestra del terminale/riga di comando
Processi in Linux
Processi in Linux avvia ogni volta che avvii un'applicazione o esegui un comando. Mentre ogni comando crea un processo, le applicazioni creano ed eseguono più processi per attività diverse.
Per impostazione predefinita, ogni nuovo processo inizia come primo piano processi. Ciò significa che deve terminare prima che possa iniziare un nuovo processo. Processi in esecuzione in sfondo ti consente di eseguire altre attività contemporaneamente.
Elenca i processi in esecuzione in Linux
Per elencare i processi attualmente in esecuzione, utilizza il ps
, atop
, htop
e atop
Comandi Linux. Puoi anche combinare il ps
comando con il pgrep
comando per identificare i singoli processi.
Elenca i processi in esecuzione in Linux utilizzando il comando ps
Il ps
Il comando Linux crea uno snapshot dei processi attualmente in esecuzione. A differenza degli altri comandi in questo elenco, ps
presenta l'output come un elenco statico, non aggiornato in tempo reale.
Il ps
comando utilizza la seguente sintassi:
ps [options]
Usato di frequente ps le opzioni dei comandi includono:
a
:elenca tutti i processi dannosi per tutti gli utenti.-A, -e
:elenca tutti i processi nel sistema.-a
:elenca tutti i processi tranne i leader di sessione (istanze in cui l'ID processo è uguale all'ID sessione) e i processi non associati a un terminale.-d
:elenca tutti i processi tranne i leader di sessione.--deselect, -N
:elenca tutti i processi tranne quelli che soddisfano una condizione definita dall'utente.f
:Visualizza la gerarchia dei processi come ASCII art.-j
:Visualizza l'output nel formato dei lavori.T
:elenca tutti i processi associati a questo terminale.r
:elenca solo i processi in esecuzione.u
:Espandi l'output per includere informazioni aggiuntive, ad esempio CPU e utilizzo della memoria.-u
:Definisci un utente di cui desideri elencare i processi.x
:include processi senza TTY.
Esecuzione di ps
comando senza alcuna opzione produce un output simile a:
L'output predefinito include le seguenti categorie:
- PID :Numero di identificazione del processo.
- TTY :il tipo di terminale su cui è in esecuzione il processo.
- TEMPO :importo totale di utilizzo della CPU.
- CMD :il nome del comando che ha avviato il processo.
Utilizzando la combinazione di a
, u
e x
opzioni risulta in un output più dettagliato:
ps aux
Le nuove categorie dell'output ampliato includono:
- UTENTE :il nome dell'utente che esegue il processo.
- %CPU :la percentuale di utilizzo della CPU.
- %MEM :la percentuale di utilizzo della memoria.
- VSZ :memoria virtuale totale utilizzata dal processo, in kilobyte.
- RSS :dimensione del set residente, la porzione di RAM occupata dal processo.
- STAT :lo stato del processo corrente.
- INIZIA :l'ora in cui è stato avviato il processo.
Per visualizzare i processi in esecuzione in una vista gerarchica, immettere:
ps -axjf
Filtra l'elenco dei processi per utente con:
ps -U [real user ID or name] -u [effective user ID or name] u
Ad esempio, mostrando un elenco di processi avviati dall'utente chiamato phoenixnap :
ps -U phoenixnap -u phoenixnap u
Elenca i processi in esecuzione in Linux utilizzando il comando in alto
La atop
comando visualizza l'elenco dei processi in esecuzione in ordine decrescente di utilizzo della CPU. Ciò significa che i processi che richiedono più risorse vengono visualizzati in cima all'elenco:
L'output del atop
aggiornamenti dei comandi in tempo reale, con la frequenza di aggiornamento predefinita di tre secondi. La atop
l'output del comando contiene le seguenti categorie:
- PID :Numero di identificazione del processo.
- UTENTE :il nome dell'utente che esegue il processo.
- PR :la priorità di pianificazione per il processo.
- NI :Il bel valore del processo, con numeri negativi che indicano una priorità più alta.
- VIRT :La quantità di memoria virtuale utilizzata dal processo.
- RES :la quantità di memoria residente (fisica) utilizzata dal processo.
- SHR :la memoria condivisa totale utilizzata dal processo.
- S :Lo stato del processo - R (in esecuzione) o S (inattivo).
- %CPU :la percentuale di utilizzo della CPU.
- %MEM :la percentuale di utilizzo della memoria.
- TEMPO+ :importo totale di utilizzo della CPU.
- COMANDO :il nome del comando che ha avviato il processo.
Mentre il atop
comando è in esecuzione, utilizzare le seguenti opzioni per interagire con esso o modificare il formato di output:
- c :Visualizza il percorso del processo assoluto.
- d :cambia la frequenza di aggiornamento dell'output su un valore definito dall'utente (in secondi).
- h :Visualizza la finestra della guida.
- k :termina un processo fornendo il PID.
- M :Ordina l'elenco in base all'utilizzo della memoria.
- N :Ordina l'elenco per PID.
- r :cambia il valore piacevole (priorità) di un processo fornendo il PID.
- z :cambia il colore di output per evidenziare i processi in esecuzione.
- q :Esci dall'interfaccia dei comandi.
Elenca i processi in esecuzione in Linux utilizzando il comando htop
Il htop
Il comando offre lo stesso output di atop
comando ma in un modo più facile da capire e facile da usare.
Poiché la maggior parte delle distribuzioni Linux non include questo comando, installalo con:
sudo apt install htop
Utilizzando il htop
comando fornisce il seguente output:
Utilizza i seguenti tasti per interagire con htop
comando:
- Tasti direzionali :Scorre l'elenco dei processi verticalmente e orizzontalmente.
- F1 :Apri la finestra della guida.
- F2 :Apri la configurazione del comando htop.
- F3 :cerca un processo digitando il nome.
- F4 :Filtra l'elenco dei processi per nome.
- F5 :passa dalla visualizzazione della gerarchia dei processi come un elenco ordinato o come un albero.
- F6 :Ordina i processi per colonne.
- F7 :Diminuisce il valore piacevole (aumenta la priorità) di un processo.
- F8 :Aumenta il valore piacevole (diminuisci la priorità) di un processo.
- F9 :termina il processo selezionato.
- F10 :Esci dall'interfaccia dei comandi.
Elenca i processi in esecuzione in Linux utilizzando il comando atop
Il atop
Il comando fornisce una panoramica più completa dei processi in esecuzione rispetto a atop
comando. Inizia installando il atop
comando con:
sudo apt install atop
Il atop
comando crea un output simile a:
La sezione dell'intestazione dell'output del comando fornisce una panoramica delle risorse di sistema, comprese le statistiche relative ai processi e alle prestazioni e l'utilizzo della memoria, del disco e della rete.
La sezione inferiore elenca i processi attualmente in esecuzione e contiene le seguenti categorie:
- PID :Numero di identificazione del processo.
- SYSCPU :l'utilizzo della CPU da parte del processo durante la gestione del sistema.
- USRCPU :l'utilizzo della CPU da parte del processo durante l'esecuzione in modalità utente.
- VGROW :La quantità di memoria virtuale occupata dal processo dall'ultimo aggiornamento dell'output.
- RGROW :La quantità di memoria fisica occupata dal processo dall'ultimo aggiornamento dell'output.
- RUID :l'ID utente reale dell'utente che ha avviato il processo.
- ST :lo stato attuale del processo.
- ECC :il codice di uscita al termine del processo.
- THR :il numero di thread utilizzati dal processo.
- S :lo stato corrente del thread principale del processo.
- CPUNR :il numero di CPU utilizzate dal processo.
- CPU :La percentuale di CPU utilizzata dal processo.
- CMD :il nome del comando che ha avviato il processo.
Usando il atop
comando con le seguenti opzioni cambia il formato di output:
-a
:mostra solo i processi attivi.-c
:Mostra riga di comando per processo.-d
:mostra le informazioni sul disco.-l
:mostra i valori totali come media al secondo.-m
:mostra le informazioni sulla memoria.-n
:mostra le informazioni sulla rete.-s
:mostra le informazioni sulla pianificazione del processo.-v
:mostra l'output dettagliato.-y
:mostra i singoli thread.
Utilizza i seguenti flag per interagire con il atop
comando:
- a :Ordina per risorse più attive.
- c :Ordina per consumo di CPU.
- d :Ordina per attività del disco.
- mi :Ordina in base all'utilizzo della memoria.
- n :Ordina per attività di rete.
Trova ID processo utilizzando il comando pgrep
Utilizzando il pgrep
comando consente di cercare un processo specifico. Il pgrep
comando utilizza la seguente sintassi:
pgrep [process name]
Ad esempio, utilizza il seguente comando per cercare firefox processo:
pgrep firefox
L'output del comando elenca il PID del processo:
Utilizzo di questo PID con ps
comando consente di ottenere maggiori informazioni sul processo. In questo esempio, l'utilizzo del PID 1439 fornisce informazioni su firefox processo:
ps -e | grep 1439