Monitoraggio

Come utilizzare il comando ps per trovare processi in esecuzione su Linux

Come utilizzare il comando ps per trovare processi in esecuzione su Linux
La forma completa di ps è stato del processo. È un comando utilizzato per trovare informazioni sui processi attualmente in esecuzione su Linux. ps è un comando molto importante di Linux.In questo articolo, ti mostrerò come utilizzare il comando ps per trovare i processi in esecuzione su Linux. Quindi iniziamo.

Diversi tipi di opzioni:

Il comando ps accetta diverse opzioni.

  1. Opzioni UNIX: hanno un trattino iniziale. $ ps -e
  1. Opzioni BSD - non hanno il trattino iniziale. $ ps ausiliario
  1. Opzioni GNU - hanno il doppio trattino iniziale. $ ps --pid 1001

In questo esempio, userò le opzioni UNIX e talvolta GNU. Ma le opzioni BSD sono simili. Il più delle volte, puoi mescolarli insieme senza problemi. Anche se non puoi combinare alcune delle opzioni insieme perché non funzionerà. Perciò stai attento.

Trovare tutti i processi in esecuzione:

Con il comando ps, puoi trovare tutti i processi in esecuzione sulla tua macchina.

Per trovare tutti i processi in esecuzione con ps, usa ps come segue,

$ ps -ef

Come puoi vedere, il UID (ID utente), PID (ID processo), PPID (ID processo padre), CMD (comando utilizzato per eseguire il processo) e vengono visualizzate alcune altre informazioni su tutti i processi in esecuzione.

Puoi elencare tutti i processi in esecuzione con diversi ps combinazione di opzioni. Mostreranno diverse informazioni sui processi in esecuzione. Puoi davvero dirlo ps per visualizzare informazioni specifiche, a cui arriveremo nella sezione successiva.

$ ps -e

Come potete vedere, ps -e mostra il PID, TTY (numero terminale), TEMPO (tempo di esecuzione del processo) e CMD dei processi in corso. Sono molte meno informazioni rispetto a prima.

$ps -ef

Mostra molte informazioni sui processi in esecuzione, ma alcune colonne come C (utilizzo del processore), SZ (dimensione in pagine fisiche), RSS (dimensione del set residente), PSR (processore a cui è attualmente assegnato il processo), STIME (l'ora in cui è iniziato il processo) ecc. non vengono visualizzati. Quindi, è un po' più compatto di ps -eF.

Un'altra variante di ps,

$ ps -ely

Questo te lo mostra UID (ID utente), PRI (attuale priorità del processo), NI (bel valore) pure. Quindi, è davvero utile.

Semplificare la navigazione su ps:

Un tipico sistema Linux ha molti processi in esecuzione in background. Quindi, l'output di ps il comando è molto lungo. È più difficile trovare informazioni utili lì. Ma possiamo usare un cercapersone come Di meno per cercare i processi un po' più facilmente.

Puoi usare il Di meno cercapersone come segue:

$ ps -ef | Di meno

L'uscita di ps sarà aperto con Di meno.

Ora puoi usare e tasti freccia per navigare nell'elenco molto facilmente.

Puoi anche cercare parole chiave specifiche qui. Questo è davvero utile per trovare i processi che stai cercando.

Per cercare un processo, diciamo acpi, digita la parola chiave come segue nel Di meno cercapersone.

/acpi

Ora premi .

Come puoi vedere, il processo con la parola chiave acpi è evidenziato.

Puoi anche premere n e p tasti per passare rispettivamente alla partita successiva e precedente (se disponibile).

Come puoi vedere, ho premuto n ae il prossimo processo con la parola chiave acpi è evidenziato.

Per uscire dal cercapersone, premere q.

Seleziona manualmente le colonne da visualizzare in ps:

Il ps -e / ps -ef / ps -eF etc il comando mostra alcune colonne predefinite. Ma, se lo desideri, puoi dire a ps di mostrarti colonne specifiche o aggiungere colonne aggiuntive al set predefinito di colonne.

Ad esempio, diciamo, vuoi vedere solo %MEM (percentuale di utilizzo della memoria), PID (ID processo) e UID (ID del titolare del processo) e COMANDO (comando process), quindi esegui ps come segue:

$ ps -e -o %mem,pid,uid,comm

Come puoi vedere, ps ha mostrato solo le informazioni che ho chiesto io. Niente di più, niente di meno.

Le parole chiave della colonna utilizzate qui sono %mem (per %MEM), pid (per PID), uid (per UID), comm (per COMANDO). ps supporta molte parole chiave. Puoi trovare l'intero elenco nella pagina man di ps.

Basta aprire la pagina man di ps con il seguente comando e passare a INDICATORI DI FORMATO STANDARD sezione come mostrato nello screenshot qui sotto.

$ uomo ps

Se desideri visualizzare colonne aggiuntive insieme al set di colonne predefinito, puoi utilizzare il -oh opzione per specificare le colonne che vuoi vedere.

Per esempio,

$ ps -ef -O %cpu

Come puoi vedere, ho aggiunto %PROCESSORE e %MEM colonna insieme alle colonne predefinite di ps -ef comando.

Ordinamento dell'output del comando ps:

Puoi anche ordinare l'output di ps in base a una colonna o colonne specifiche. Puoi ordinare l'output di ps in ordine crescente o decrescente a seconda delle tue esigenze.

Per ordinare l'output di ps usando una singola colonna, puoi usare ps come segue:

$ ps -ef --sort=(+|-)column_code

Qualche esempio lo renderà più chiaro.

Diciamo che vuoi ordinare i processi in base alla durata del processo in ordine crescente. Puoi eseguire ps come segue:

$ ps -ef --sort=+time

O

$ ps -ef --sort=time

NOTA: L'impostazione predefinita è l'ordinamento in ordine crescente. Quindi puoi omettere il + firma se vuoi.

Come puoi vedere, l'output è ordinato in ordine crescente dal TEMPO colonna.

Di nuovo, diciamo, vuoi ordinare i processi in base a quanto tempo il processo è in esecuzione in ordine decrescente. Quindi, il comando ps sarebbe:

$ ps -ef --sort=-time

Come puoi vedere, i processi in esecuzione da più tempo sono elencati per primi.

Se vuoi ordinare per più colonne, aggiungi semplicemente le colonne come segue:

$ ps -ef --sort=time,-%mem,%cpu

Dove andare dopo??

Ho coperto le basi del comando ps. Ora dovresti essere in grado di saperne di più sul comando ps dalla pagina man di ps.

Puoi accedere alla pagina man di ps come segue,

$ uomo ps

Ad esempio, puoi trovare un processo specifico se sai che è PID usando ps come segue:

$ ps -O %mem,%cpu -p 2060

NOTA: Qui, 2060 è il PID del processo.

Puoi anche cercare processi di proprietà di utenti o gruppi specifici, ecc.

Ad esempio, per trovare tutti i processi in esecuzione del tuo utente di accesso, esegui ps come segue:

$ ps -O utente,%mem,%cpu -U $(whoami)

NOTA: Puoi sostituire $(whoami) con qualsiasi nome utente che desideri elencare i processi in esecuzione come quell'utente.

Quindi, è così che usi il comando ps per trovare i processi in esecuzione su Linux. Grazie per aver letto questo articolo.

I migliori emulatori di console di gioco per Linux
Questo articolo elencherà il popolare software di emulazione della console di gioco disponibile per Linux. L'emulazione è un livello di compatibilità ...
Le migliori distribuzioni Linux per il gioco nel 2021
Il sistema operativo Linux ha fatto molta strada dal suo aspetto originale, semplice e basato su server. Questo sistema operativo è notevolmente migli...
Come acquisire e riprodurre in streaming la tua sessione di gioco su Linux
In passato, giocare era considerato solo un hobby, ma con il tempo l'industria dei giochi ha visto una crescita enorme in termini di tecnologia e nume...