GNU/Linux >> Linux Esercitazione >  >> Linux

15 Comando Linux ps con esempi

Il ps è un comando integrato utilizzato nei sistemi operativi Unix/Linux per elencare i processi attualmente in esecuzione. Visualizza un'istantanea statica con informazioni sui processi mentre top, htop e sguardi mostrano aggiornamenti ripetitivi.

Il comando Ps include molte opzioni per manipolare gli output. Estrae tutte le informazioni dei processi da /proc virtual filesystem.

Questo tutorial si concentrerà sulla spiegazione del modo di utilizzare il comando ps insieme ad alcuni esempi pratici

La sintassi del comando ps

La sintassi di base per l'utilizzo del comando ps è la seguente:

$ ps [options]

Le 'opzioni' del comando ps possono essere:

  • Opzioni UNIX - precedute da un trattino
  • Opzioni BSD:devono essere utilizzate senza trattino
  • Opzioni lunghe GNU - precedute da due trattini

Questo è un utilizzo del comando ps molto semplice. Digita semplicemente 'ps' sulla tua console per vedere il risultato:

$ ps

Per impostazione predefinita, ci mostra quattro colonne di informazioni.

  • PID è un ID processo del comando in esecuzione (CMD)
  • TTY è un luogo in cui viene eseguito il comando in esecuzione
  • TIME indica quanto tempo viene utilizzato dalla CPU durante l'esecuzione del comando
  • CMD è un comando che viene eseguito come processo corrente

L'esecuzione del comando ps senza alcuna opzione è solo un formato più semplice del comando, non restituisce molte informazioni. Per sfruttare al meglio la potenza del comando ps, eseguiamolo con opzioni aggiuntive che verranno spiegate in dettaglio nelle sezioni seguenti.

01) Visualizza tutti i processi (formato UNIX)

Per visualizzare tutti i processi nel tuo sistema Linux, puoi eseguire uno dei seguenti comandi:

$ ps -A

oppure:

$ ps -e

Inoltre, per elencare tutti i processi in esecuzione, eseguire:

$ ps -r

02) Visualizza tutti i processi (formato BSD)

Per vedere tutti i processi sul tuo sistema Linux usando il comando ps in formato BSD, puoi eseguire i seguenti comandi:

$ ps ax

o

$ ps aux

Dove:

  • UTENTE - l'utente esegue il processo
  • PID:l'ID del processo
  • %CPU / %MEM - la percentuale di CPU/RAM occupata dai processi
  • VSZ - la dimensione della memoria virtuale occupata dai processi
  • RSS - la dimensione della memoria fisica occupata dai processi
  • START - ora di inizio
  • STAT - lo stato del processo in cui:S (inattivo), R (in esecuzione), I (inattività).
  • Tempo:mostra quanto tempo CPU è stato concesso dal kernel per quel processo in esecuzione.
  • COMANDO - il comando che viene eseguito come processo corrente

03) Visualizza tutti i processi che possono essere eseguiti da un comando

Per elencare tutti i processi che possono essere eseguiti da un comando, utilizziamo la seguente sintassi:

$ ps -C <command_name>

Ad esempio, elenca tutti i processi del comando '/usr/sbin/kerneloops' eseguendo:

$ ps -C kerneloops

Puoi anche utilizzare l'argomento sotto forma di un elenco separato da spazi vuoti o da virgole, ad esempio:

$ ps -C sshd,systemd

04) Visualizza tutti i processi eseguiti da un utente

Se vuoi elencare il processo per utente il cui ID utente 1000, eseguiamo il seguente comando:

$ ps -u 1000

Puoi anche cercare il processo per nome utente:

$ ps -U root -u root u

Il parametro -U parameter selezionerà tramite real user ID (RUID) . Seleziona i processi il cui nome utente o ID reale è nell'elenco degli utenti. L'ID utente reale identifica l'utente che ha creato il processo.

Mentre il parametro -u paramater selezionerà in base all'ID utente effettivo (EUID)

05) Visualizza i processi di proprietà del gruppo

Per elencare tutti i processi di proprietà di un nome di gruppo specifico, eseguiamo il comando con -fG opzione. Ad esempio:

$ ps -fG cas

Per visualizzare tutti i processi per ID gruppo, puoi eseguire il comando con l'opzione '-g'. Ad esempio:

$ ps -g 1

Uscita:

   PID TTY          TIME CMD
     1 ?        00:00:03 systemd

06) Visualizza i processi per PID

Puoi elencare tutti i processi per PID eseguendo il comando ps con l'opzione '-fp'. Ad esempio:

$ ps -fp 34531

Uscita:

UID         PID   PPID  C STIME TTY          TIME CMD
cas       34531      1  0 06:16 ?        00:00:00 /lib/systemd/systemd --user

Inoltre, per elencare tutti i processi per PPID, eseguiamo il comando con l'opzione '--ppid':

$ ps -f --ppid 34529

Uscita:

UID         PID   PPID  C STIME TTY          TIME CMD
cas       34609  34529  0 06:16 ?        00:00:00 sshd: cas@pts/0

07) Visualizza i processi per TTY

Per visualizzare tutti i processi di TTY, puoi eseguire il comando con l'opzione '-t'. Ad esempio:

$ ps -t tty1

08) Visualizza i processi di proprietà dell'utente corrente

Per elencare tutti i processi in esecuzione dall'utente corrente, eseguiamo il comando con l'opzione '-x':

$ ps -x

09) Visualizza tutti i processi con l'elenco in formato completo

Ad esempio, eseguiamo il comando ps con -f opzione, per visualizzare tutto il processo con il formato completo:

$ ps -af

10) Visualizza tutti i processi con un formato extra

Inoltre, per visualizzare l'elenco in formato extra completo del risultato, esegui il comando ps con -F opzione. Ad esempio:

$ ps -F

11) Visualizza tutti i processi in formato gerarchico ASCII

Per illustrare, supponendo che tu voglia visualizzare tutto il processo sul tuo sistema Linux nel formato della gerarchia dei processi artistici ASCII, eseguiamo:

$ ps af

L'output sarà in formato "foresta":

12) Processo di visualizzazione in output esteso

Se vuoi ampliare l'output quando esegui il comando ps, usa w opzione:

$ ps w

Facciamo un confronto tra gli output dell'esecuzione di 'ps w' e 'ps':

13) Processo di visualizzazione in base al formato definito dall'utente

È possibile utilizzare la seguente sintassi per visualizzare nel formato definito dall'utente:

Syntax:
$ ps --format column_name
$ ps -o column_name
$ ps o column_name

For example:
$ ps -e -o user,pid,cmd

14) Visualizza i thread con ID thread

Ad esempio, per mostrare i thread con la colonna SPID (SPID è l'ID del thread), eseguire:

$ ps -aT

15) Mostra le informazioni sui thread

Inoltre, puoi usare l'opzione '-L' per ottenere le informazioni sui thread nel tuo sistema Linux:

$ ps -aL

L'output con la colonna 'LWP' mostra l'ID del thread:

Altri esempi

01) Controlla quali processi occupano più RAM

Il comando seguente visualizzerà la maggior parte della memoria utilizzando i processi, %MEM nella prima colonna, PID nella 2a colonna e comando nella 3a colonna per tutti i processi in esecuzione sul sistema:

$ ps -eo pmem,pid,cmd | sort -k 1 -nr

02) Visualizza tutti i thread di un ID processo specifico

Questo mostrerà tutti i thread di un particolare pid di processo.

$ ps -Lf -p 3482

03) Mostra il processo figlio di un genitore

Questo mostrerà tutti i processi figlio di un processo ed è utile per scoprire quali processi sono stati estratti da questo processo principale.

$ ps -o pid,pcpu,pmem,uname,comm -C apache2

04) Mostra da quanto tempo è in esecuzione il processo

Il comando seguente mostrerà da quanto tempo il processo 'mysql' è in esecuzione sul sistema:

$ ps -e -o pid,comm,etime | grep mysql
3107 mysqld_safe 18-07:01:53
3469 mysqld 18-07:01:52
  • etimes :tempo trascorso dall'avvio del processo, nella forma [[DD-]hh:]mm:ss.
  • etimes :tempo trascorso dall'avvio del processo, in secondi.

05) Ottieni informazioni sulla sicurezza

Se vogliamo vedere chi è attualmente connesso al tuo server, possiamo vederlo usando il comando ps:

$ ps -eo pid,user,args

Ora puoi mappare i pid alle rispettive unità di sistema tramite il comando seguente:

$ ps -e -o pid,unit,cmd

Conclusione

pstree (o use ps -axjf ) e pgrep sono comandi aggiuntivi che possono aiutare a ottenere informazioni sull'esecuzione del processo.

Puoi usare ps come monitor in tempo reale usando il comando watch, diciamo, vogliamo filtrare i processi in base alla CPU e il rapporto sull'utilizzo della memoria viene aggiornato ogni 1 secondo.

$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu’

In questo tutorial, abbiamo imparato molti modi per usare il comando ps in Linux. Per esplorare tutte le opzioni, fare riferimento alla pagina man di ps. Grazie per la lettura e per favore lascia il tuo suggerimento nella sezione commenti qui sotto.


Linux
  1. Comando wc Linux con esempi

  2. Comando di ordinamento Linux con esempi

  3. Comando Tee Linux con esempi

  4. Comando testa di Linux con esempi

  5. Comando JQ in Linux con esempi

Comando Linux watch con esempi

Attendi comando in Linux con esempi

Comando di esportazione Linux con esempi

Riavvia il comando in Linux con esempi

Comando PS Linux con esempi

Comando IP Linux con esempi