Come elencare i processi in esecuzione in Linux | ps Comando

Come elencare i processi in esecuzione in Linux | ps Comando

Come tutti sappiamo Linux è un sistema multitasking e multiutente. Pertanto, consente a più processi di operare contemporaneamente senza interferire tra loro. Il processo è uno dei concetti fondamentali importanti del sistema operativo Linux. Un processo è un'istanza in esecuzione di un programma che svolge diverse attività all'interno del sistema operativo.

Tabella dei contenuti

Cos'è un processo in Linux?

In Linux, un processo è un'istanza in esecuzione di un programma. Quando esegui un programma, diventa un processo, un'entità esecutiva indipendente con il proprio spazio di memoria. A ogni processo viene assegnato un identificatore univoco, il Process ID (PID). I processi sono fondamentali per il funzionamento del sistema operativo e svolgono un ruolo cruciale nel multitasking, consentendo al computer di eseguire più attività contemporaneamente.

Elenca i processi in esecuzione in Linux

Possiamo utilizzare più comandi per elencare i processi in esecuzione in Linux come p.s , superiore , htop , E in cima comandi in Linux. Possiamo anche avere una combinazione di comandi per elencare i processi in esecuzione in Linux.

1. Il comando `ps` per elencare i processi in esecuzione in Linux

Il ` ps`> Il comando, che sta per stato del processo, è come uno strumento informatico che ti aiuta a vedere cosa sta succedendo all'interno del tuo computer Linux. Immagina che il tuo computer stia facendo diverse cose contemporaneamente, come eseguire diversi programmi o app. Questi sono i processi e i ` ps`> il comando ti consente di dare loro una rapida occhiata. Quando lo usi senza istruzioni speciali, ti mostra i processi collegati alla finestra o allo schermo che stai attualmente utilizzando. Ma è qui che la cosa diventa interessante: puoi creare il file ps> Il comando ti mostra esattamente quello che vuoi sapere dandogli istruzioni speciali, chiamate opzioni. Queste opzioni ti consentono di personalizzare le informazioni visualizzate, ad esempio scoprire quali programmi utilizzano maggiormente la potenza del computer o controllare cosa sta facendo un utente specifico. Quindi, anche se può darti una panoramica di base, il file ps> La vera forza di Command sta nel permetterti di scegliere esattamente quali dettagli vuoi vedere sui processi sul tuo computer.

Sintassi del comando `ps` in Linux

IL ps> Il comando fornisce un'istantanea dei processi correnti sul sistema. La sintassi di base è la seguente:

  ps [options] 

Senza alcuna opzione, ` ps`> visualizza informazioni sui processi associati alla sessione terminale corrente. Tuttavia, per sfruttare tutto il potenziale di ` ps`> comando, è possibile utilizzare varie opzioni per personalizzare l'output.

Opzioni per il comando `ps` per elencare i processi in esecuzione in Linux

Alcune opzioni comunemente utilizzate

Opzioni

Descrizione

a>

Elenca tutti i processi dannosi per tutti gli utenti.

-A, -e>

Elenca tutti i processi sull'intero sistema, offrendo una panoramica completa delle attività e dei programmi in esecuzione.

-a>

Elenca tutti i processi tranne i leader della sessione (istanze in cui l'ID del processo è uguale all'ID della sessione) e i processi non associati a un terminale.

-d>

Elenca tutti i processi tranne i leader della sessione, fornendo una visualizzazione filtrata dei processi in esecuzione sul sistema.

--deselect, -N>

Elenca tutti i processi tranne quelli che soddisfano condizioni specifiche definite dall'utente.

f>

Visualizza la gerarchia dei processi in un formato artistico ASCII visivo, illustrando le relazioni genitore-figlio.

-j>

Presenta l'output nel formato dei lavori, fornendo informazioni dettagliate come ID processo, ID sessione e comando.

T>

Elenca tutti i processi associati al terminale corrente, aiutando a concentrarsi sulle attività relative a un terminale specifico.

r>

Elenca solo i processi in esecuzione, utili per monitorare le prestazioni del sistema.

u>

Espande l'output per includere informazioni aggiuntive come l'utilizzo della CPU e della memoria.

-u>

Specifica un nome utente, elencando i processi associati a quell'utente.

x>

Include processi senza TTY, che mostrano processi in background non legati a una sessione terminale specifica.

1) Selezione semplice del processo: Mostra i processi per la shell corrente –

 ps 
elenca i processi in esecuzione in Linux

elenca i processi in esecuzione in Linux

Il risultato contiene quattro colonne di informazioni. Dove,

  • PID – l'ID univoco del processo
  • TTY – tipo di terminale a cui l'utente ha effettuato l'accesso
  • TEMPO - quantità di CPU in minuti e secondi di esecuzione del processo
  • CMD – nome del comando che ha avviato il processo.

Nota - A volte quando eseguiamo p.s comando, mostra TIME come 00:00:00. Non è altro che il tempo di utilizzo totale della CPU accumulato per qualsiasi processo e 00:00:00 indica che fino ad ora il kernel non ha fornito tempo di CPU. Nell'esempio sopra abbiamo scoperto che per bash non è stato fornito il tempo della CPU. Questo perché bash è solo un processo genitore per diversi processi che necessitano di bash per la loro esecuzione e bash stesso non utilizza fino ad ora alcun tempo della CPU.

2) Visualizza tutti i processi in esecuzione in Linux.

Per visualizzare tutti i processi in esecuzione, utilizzare una delle seguenti opzioni con l'estensione ` ps`> comando:

ps -A 
ps -Un

ps -Un'opzione per visualizzare tutti i processi in esecuzione in Linux

ps -e 
158

ps -e opzione per visualizzare tutti i processi in esecuzione in Linux

3) Elenco processi Non associato a un terminale in Linux

Visualizza tutti i processi tranne i leader della sessione e i processi non associati a un terminale.

ps -a 
ps -a opzione per elencare i processi in esecuzione in Linux

ps -a opzione per elencare i processi in esecuzione in Linux

Nota -

Potresti pensare che cos'è il leader della sessione? Ad ogni gruppo di processi viene assegnata una sessione unica. Quindi, il leader della sessione è un processo che dà il via ad altri processi. L'ID processo del primo processo di qualsiasi sessione è simile all'ID sessione.

4) Elenca tutti i processi tranne i leader della sessione in Linux

Un leader di sessione è un processo che avvia altri processi. Visualizza i processi ad eccezione dei leader della sessione:

ps -d 
ps -d opzione per elencare i processi in esecuzione in Linux

ps -d opzione per elencare i processi in esecuzione in Linux

5) Elenca tutti i processi tranne quelli che soddisfano le condizioni specificate (annulla la selezione)

Esempio - Se vuoi vedere solo il leader della sessione e i processi non associati a un terminale. Allora corri

ps -a -N OR ps -a --deselect 

6) Elenca tutti i processi associati a questo terminale in Linux

ps -T 
Opzione ps -T per elencare i processi in esecuzione in Linux

Opzione ps -T per elencare i processi in esecuzione in Linux

7) Visualizza tutti i processi di tua proprietà

Processi ovvero lo stesso EUID di ps che significa runner del comando ps, root in questo caso –

ps -x 
Opzione ps -x per elencare i processi in esecuzione in Linux

Opzione ps -x per elencare i processi in esecuzione in Linux

8) Selezione del processo tramite elenco

Qui discuteremo come ottenere l'elenco dei processi specifici con l'aiuto del comando ps. Queste opzioni accettano un singolo argomento sotto forma di elenco separato da spazi o da virgole. Possono essere utilizzati più volte.

Per esempio:

ps -p '1 2' -p 3,4 

9) Selezionare Processi per nome comando

Ciò seleziona i processi il cui nome eseguibile è fornito in cmdlist. Potrebbe esserci la possibilità che tu non conosca l'ID del processo e con questo comando è più semplice la ricerca.

Sintassi:

ps -C command_name 

Esempio :

ps -C systemd 
Opzione ps -C per elencare i processi in esecuzione in Linux

Opzione ps -C per elencare i processi in esecuzione in Linux

10) Selezionare per ID gruppo o nome

L'ID gruppo identifica il gruppo dell'utente che ha creato il processo.

Sintassi:

ps -G group_name ps --Group group_name 

Esempio :

ps -G root 

Visualizza per ID gruppo:

ps -g 1 

164

Visualizza i processi per ID processo:

Sintassi:

ps p process_id ps -p process_id ps --pid process_id 

Esempio:

ps p 27223 

È possibile visualizzare più processi specificando più ID processo separati da spazi o virgole:

Esempio :

ps -p 1 904 27223 

Qui abbiamo menzionato tre ID di processo: 1, 904 e 27223 che sono separati da uno spazio vuoto.

2. Il comando 'top' per elencare i processi in esecuzione in Linux

In Linux, il ` top`> Il comando è uno strumento dinamico e interattivo che fornisce informazioni in tempo reale sui processi di sistema. Offre una visione completa dei processi in esecuzione, dell'utilizzo delle risorse di sistema e di altri parametri critici del sistema. Questo articolo esplora come utilizzare in modo efficace il file top> comando per monitorare e gestire i processi.

Lancio top>

Per lanciare il top> comando, apri un terminale e digita semplicemente:

top 
elenca tutti i processi in esecuzione in Linux in alto

elenca tutti i processi in esecuzione in Linux in alto

Informazioni relative al processo, tra cui:

  • PID> : ID processo
  • USER> : Titolare del processo
  • PR> : Priorità
  • NI> : Buon rapporto qualità/prezzo
  • VIRT> : Utilizzo della memoria virtuale
  • RES> : dimensione del set residente (memoria fisica non scambiata utilizzata)
  • SHR> : Memoria condivisa
  • S> : Stato del processo (S: Inattivo, R: In esecuzione, I: Inattivo)
  • %CPU> : percentuale di utilizzo della CPU
  • %MEM> : percentuale di utilizzo della memoria
  • TIME+> : Tempo totale della CPU
  • COMMAND> : nome del comando o del processo

3. Il comando `htop` per elencare i processi in esecuzione in Linux

`htop`> è un visualizzatore di processi interattivo per Linux che fornisce un'alternativa visivamente accattivante e ricca di funzionalità al tradizionale ` top`> comando. Consente agli utenti di monitorare e gestire i processi di sistema in tempo reale con un'interfaccia facile da usare. Questa guida mostra come utilizzare ` htop`> per elencare i processi in esecuzione su un sistema Linux.

Installazione di htop

Prima di usare htop> , assicurati che sia installato sul tuo sistema. Utilizza il gestore pacchetti pertinente alla tua distribuzione Linux:

Debian/Ubuntu:

sudo apt-get install htop 

RedHat/CentOS:

sudo dnf install htop 

Avvio di htop

Lanciare htop> , apri un terminale e digita:

htop 
elenca tutti i processi in esecuzione in Linux in alto

elenca tutti i processi in esecuzione in Linux in htop

Informazioni relative al processo, tra cui:

  • PID> : ID processo
  • USER> : Titolare del processo
  • PRI> : Priorità
  • NI> : Buon rapporto qualità/prezzo
  • VIRT> : Utilizzo della memoria virtuale
  • RES> : dimensione del set residente (memoria fisica non scambiata utilizzata)
  • SHR> : Memoria condivisa
  • S> : Stato del processo (S: Inattivo, R: In esecuzione, I: Inattivo)
  • CPU%> : percentuale di utilizzo della CPU
  • MEM%> : percentuale di utilizzo della memoria
  • TIME+> : Tempo totale della CPU
  • Command> : nome del comando o del processo

4. Il comando `atop` per elencare i processi in esecuzione in Linux

`atop`> è un monitor di sistema e processo potente e interattivo per Linux che fornisce informazioni dettagliate sulle risorse e sui processi di sistema. Questa guida illustra come utilizzare il file ` atop`> comando per elencare i processi in esecuzione e monitorare l'attività del sistema.

Installazione di htop

Prima di utilizzare a top> , assicurati che sia installato sul tuo sistema. Utilizza il gestore pacchetti pertinente alla tua distribuzione Linux:

Debian/Ubuntu:

sudo apt-get install atop 

RedHat/CentOS:

sudo dnf install atop 

Lancio in cima

Lanciare atop> , apri un terminale e digita:

atop 
elenca tutti i processi in esecuzione in Linux in cima

elenca tutti i processi in esecuzione in Linux in cima

Informazioni relative al processo, tra cui:

  • PID: ID processo
  • CPUSISTEMA: Tempo CPU del sistema
  • USRCPU: Tempo CPU utente
  • VGROW: Crescita della memoria virtuale
  • CRESCITA: Crescita della memoria residente
  • ARTICOLO: ID utente reale
  • ID UE: ID utente effettivo
  • ST: Stato del processo
  • ECC: Codice di uscita
  • THR: Numero di thread
  • S : Stato del processo
  • NR CPU: Numero CPU
  • PROCESSORE : Utilizzo complessivo della CPU
  • CMD: Nome del comando o del processo

5. Il comando `pgrep` per trovare gli ID di processo in Linux

Il ` pgrep`> Il comando in Linux è uno strumento utile per trovare ed elencare gli ID di processo (PID) in base a vari criteri. Semplifica il processo di identificazione dei processi in esecuzione, soprattutto durante la ricerca di più istanze o processi associati ad attributi specifici.

Utilizzo di base

Per trovare il PID di un processo utilizzando pgrep> , è possibile utilizzare la seguente sintassi:

pgrep [options] pattern 

Ad esempio, utilizza il comando seguente per cercare il file ` systemd` processi:

pgrep systemd 
Ricerca dell

Trovare l'ID del processo

Esempio: l'utilizzo del PID 291 fornisce informazioni su systemd processi:

Ricerca dell

Ricerca dell'ID del processo

Conclusione

In questo articolo abbiamo discusso come elencare i processi in esecuzione in Linux. I processi sono vitali per il multitasking e sono identificati da un ID processo (PID) univoco. Vari comandi come ps> , top> , htop> , atop> , E pgrep> aiutare a elencare e gestire questi processi. Ad esempio, ps> fornisce un'istantanea dei processi, mentre top> E htop> offrire un monitoraggio in tempo reale. atop> fornisce approfondimenti dettagliati e pgrep> trova processi in base a criteri. Questi comandi consentono agli utenti di comprendere, monitorare e controllare i processi in un sistema Linux, garantendo un multitasking efficiente e una gestione delle risorse.