Come elencare i processi in esecuzione in Linux e gestirli

Pubblicato: 2022-04-04

Elenca i processi Linux - Gli sviluppatori utilizzano una varietà di applicazioni ed eseguono comandi nel terminale su base giornaliera.
Sul tuo sistema Linux, ogni applicazione che usi o comando che esegui produce un processo o un'attività. Per garantire prestazioni di sistema ottimali, sarà necessario controllare i processi come amministratore di sistema.

Il multitasking è una delle caratteristiche più interessanti del sistema operativo Linux, così come dei computer moderni in generale. Di conseguenza, numerosi programmi possono essere eseguiti contemporaneamente.

Sommario

Cosa sono i processi in Linux?

Quando si esegue un comando o si apre un'applicazione in Linux, viene avviato un processo. Le applicazioni, d'altra parte, generano ed eseguono diversi processi per varie attività, mentre i comandi ne creano solo uno.

Quando avvii l'editor di codice di Visual Studio, ad esempio, avvii un processo che cesserà (o morirà) solo quando esci o termini l'applicazione di codice di Visual Studio.

Allo stesso modo, quando si esegue un comando nel terminale (come curl ifconfig.me), viene avviato un processo che terminerà solo quando il comando viene completato o terminato.

Ogni nuovo processo inizia come processo in primo piano per impostazione predefinita. Ciò implica che deve essere completato prima che possa iniziare un nuovo processo. I processi in esecuzione in background ti consentono di lavorare su altre cose contemporaneamente.

Elenca i processi in esecuzione in Linux

Usa uno dei tre comandi per elencare i processi in Linux:

  • ps visualizza un elenco di tutti i processi; può anche essere utilizzato con le opzioni per ottenere un output più dettagliato.
  • top visualizza un elenco in tempo reale dei processi attualmente attivi e ti consente di interagire con essi uccidendo, interrompendo, modificando la priorità e così via.
  • htop : risultati istantanei su un output intuitivo con l'opportunità di interagire con il processo

Utilizzo di ps come comando

Il comando ps (stati dei processi) crea un'istantanea di tutti i processi attualmente attivi. Di conseguenza, a differenza del task manager di Windows, i risultati sono prevedibili.

La sintassi del comando ps è la seguente:

ps [options]

Di seguito sono elencate alcune delle opzioni del comando ps più comunemente utilizzate:

  • a: Fare un elenco di tutti i processi che causano problemi a tutti gli utenti.
  • -A, -e: Visualizza un elenco di tutti i processi nel sistema.
  • -a: elenca tutti i processi, esclusi i leader di sessione (quelli il cui ID processo è uguale all'ID sessione *) e quelli non associati a un terminale.
  • -d: ad eccezione dei leader di sessione, elenca tutti i processi.
  • –deselect, - N: rimuove dall'elenco tutti i processi che non soddisfano una condizione definita dall'utente.
  • f: utilizza l'arte ASCII per visualizzare la gerarchia del processo.
  • -j: mostra l'output in formato lavori.
  • T: Fai un elenco di tutti i processi collegati a questo terminale.
  • r: elenca solo i processi attualmente attivi.
  • u: Aumenta la dimensione dell'output per includere più informazioni, come CPU e utilizzo della memoria.
  • -u: definisce un utente per il quale si desidera elencare i processi.
  • x: sono inclusi i processi senza TTY.

L'esecuzione del comando ps senza alcuna opzione produce un output simile a

Le seguenti categorie sono incluse nell'output predefinito:

  • PID : numero di identificazione del processo
  • TTY : Il terminale su cui sta operando il processo.
  • TIME : La quantità totale di tempo trascorso sul computer (importo totale di utilizzo della CPU).
  • CMD : il nome del comando che ha avviato il processo

L'utilizzo delle opzioni a, u e x insieme produce un output più dettagliato

ps aux

L'output esteso ora include le seguenti nuove categorie:

  • UTENTE: questo è il nome della persona che sta eseguendo il processo.
  • %CPU: la percentuale di tempo in cui la CPU è in uso.
  • %MEM: la percentuale di memoria utilizzata.
  • VSZ: l'utilizzo totale della memoria virtuale del processo in kilobyte.
  • RSS: "sta per Resident Set Size", che si riferisce alla quantità di RAM utilizzata da un processo.
  • STAT: Lo stato attuale del processo.
  • START: Il momento in cui è iniziato il processo.

Per mostrare i processi attualmente in esecuzione in un ordine gerarchico.

ps -axjf

Usando il comando top in Linux, puoi ottenere un elenco dei processi attualmente in esecuzione

Il comando in alto fornisce un elenco dei processi attualmente attivi in ​​ordine decrescente di consumo della CPU. Ciò significa che i processi che utilizzano più risorse sono in cima all'elenco:

top

Con la frequenza di aggiornamento predefinita di tre secondi, l'output del comando superiore si aggiorna in tempo reale. Nell'output del comando in alto vengono visualizzate le seguenti categorie:

  • PID (Process Identification Number): Questo è un numero che identifica a
  • UTENTE: questo è il nome della persona che sta eseguendo il processo.
  • PR: La priorità di pianificazione del processo.
  • NI: Il valore del processo è interessante, con valori più bassi che indicano maggiore importanza.
  • VIRT: la quantità di memoria virtuale utilizzata dal processo.
  • RES: la quantità di memoria residente (fisica) utilizzata dal processo.
  • SHR: utilizzo totale della memoria condivisa del processo.
  • R (in esecuzione) o S (inattivo): lo stato del processo
  • %CPU: la percentuale di tempo in cui la CPU è in uso.
  • %MEM: la percentuale di utilizzo della memoria
  • TIME+: la quantità totale di tempo CPU utilizzato.
  • COMANDO: Il comando che ha avviato la procedura.

Utilizzare le seguenti opzioni per interagire con il comando in alto o modificare il formato di output mentre è in esecuzione:

top [option]

  • c: mostra il percorso del processo nella sua interezza.
  • d: Imposta la frequenza di aggiornamento dell'output su un valore personalizzato (in secondi).
  • h: Visualizza il menu della guida.
  • k: fornisce il PID per terminare un processo.
  • M: Ordina l'elenco in base alla quantità di memoria utilizzata.
  • N: Ordina l'elenco in base al PID.
  • r: Fornire il PID per modificare il valore piacevole (priorità) di un processo.
  • z: evidenzia i processi in esecuzione modificando il colore di output.
  • q: Esci dal prompt dei comandi.

Usando il comando htop in Linux, potresti vedere quali processi sono attualmente in esecuzione.

Il comando htop produce gli stessi risultati del comando top, ma in un modo più intuitivo e comprensibile.

Poiché questo comando non è incluso nella maggior parte delle distribuzioni Linux, dovrai installarlo tu stesso:

sudo apt install htop

Usando il

htop

comando fornisce il seguente output:

Elenco processi Linux

Per interagire con il comando htop, premi i seguenti tasti:

Scorrere l'elenco dei processi verticalmente e orizzontalmente utilizzando i tasti direzionali.

  • F1: Visualizza il menu della guida.
  • F2: aprire la configurazione del comando htop
  • F3: digitare il nome di un processo per trovarlo.
  • F4: Ordina l'elenco dei processi per nome.
  • F5: selezionare se visualizzare la gerarchia dei processi come un elenco ordinato o un albero.
  • F6: ordina i processi per colonne
  • F7: Abbassa il valore piacevole di un processo (aumenta la sua priorità).
  • F8: Abbassa il valore piacevole del processo (abbassa la sua priorità).
  • F9: termina il processo attualmente selezionato.
  • F10: chiude il prompt dei comandi.

Conclusione

Sapere come elencare tutti i processi in esecuzione nel tuo sistema operativo Linux è fondamentale. Quando devi gestire i processi, questa esperienza ti tornerà utile.
Per personalizzare l'output e il comportamento dei comandi, utilizzare le opzioni di comando disponibili.