Creative Saplings

30 Esempi utili di “comandi ps” per il monitoraggio dei processi Linux

Gennaio 30, 2021
No Comments

ps (stato dei processi) è un’utilità Unix / Linux nativa per visualizzare le informazioni relative a una selezione dei processi in esecuzione su un sistema: legge queste informazioni dai file virtuali nel filesystem / proc. È una delle utilità importanti per l’amministrazione del sistema specificamente sotto il monitoraggio dei processi, per aiutarti a capire cosa sta succedendo su un sistema Linux.

Ha numerose opzioni per manipolare il suo output, tuttavia troverai un piccolo numero di loro praticamente utili per l’uso quotidiano.

Leggi anche: Tutto quello che devi sapere sui processi in Linux

In questo articolo vedremo 30 utili esempi di comandi ps per monitorare i processi attivi in esecuzione su un sistema Linux.

Nota che ps produce un output con una riga di intestazione, che rappresenta il significato di ogni colonna di informazioni, puoi trovare il significato di tutte le etichette in ps man pagina.

Elenca tutti i processi nella shell corrente

1. Se esegui il comando ps senza argomenti, vengono visualizzati i processi per la shell corrente.

$ ps 
Elenca i processi in esecuzione correnti

Stampa tutti i processi in diversi formati

2. Visualizza tutti i processi attivi su un sistema Linux in formato generico (Unix / Linux).

$ ps -AOR$ ps -e
Elenca processi in formato standard

3. Visualizza tutti i processi in formato BSD.

$ ps auOR$ ps axu
Elenca i processi in formato BSD

4. Per eseguire un elenco in formato completo, aggiungi il flag -f o -F.

$ ps -efOR$ ps -eF
Elenca processi in formato elenco lungo

Visualizza processi in esecuzione utente

5. Puoi selezionare tutti i processi di tua proprietà (runner del comando ps, root in questo caso), digita:

$ ps -x 

6. Per visualizzare i processi di un utente in base all’ID utente reale (RUID) o al nome, utilizza il -U flag.

$ ps -fU tecmintOR$ ps -fu 1000
Elenca processi utente per ID

7. Per selezionare i processi di un utente in base all’ID utente effettivo (EUID) o al nome, utilizza l’opzione -u.

$ ps -fu tecmintOR$ ps -fu 1000

Stampa tutti i processi in esecuzione come root (ID reale ed effettivo)

8. Il comando seguente consente di visualizzare tutti i processi in esecuzione con i privilegi di utente root (& ID effettivo) nel formato utente.

$ ps -U root -u root 
Visualizza i processi in esecuzione dell’utente root

Processi del gruppo di visualizzazione

9. Se desideri elencare tutti i processi di proprietà di un determinato gruppo (ID gruppo reale (RGID) o nome), digita.

$ ps -fG apacheOR$ ps -fG 48
Processi del gruppo di visualizzazione

10. Per elencare tutti i processi di proprietà del nome effettivo del gruppo (o sessione), digitare.

$ ps -fg apache

Visualizza processi per PID e PPID

11. Puoi elencare i processi in base al PID come segue.

$ ps -fp 1178
Elenca processi per PID

12. Per selezionare il processo in base al PPID, digita.

$ ps -f --ppid 1154
Elenca processo per PPID

13. Effettua la selezione utilizzando l’elenco PID.

$ ps -fp 2226,1154,1146
Elenco Processi tramite PID

Visualizza processi tramite TTY

14. Per selezionare i processi in base a tty, utilizza il flag -t come segue.

$ ps -t pst/0$ ps -t pst/1$ ps -ft tty1
Elenca processi per TTY

Albero processo di stampa

15. Un albero dei processi mostra come i processi sul sistema sono collegati tra loro; i processi i cui genitori sono stati uccisi vengono adottati da init (o systemd).

$ ps -e --forest 
Elenca albero processo

16. Puoi anche stampare un albero dei processi per un dato processo come questo.

$ ps -f --forest -C sshdOR$ ps -ef --forest | grep -v grep | grep sshd 
Visualizzazione ad albero elenco del processo

Stampa thread di processo

17. Per stampare tutti i thread di un processo, utilizza il flag -H, questo mostrerà le colonne LWP (processo leggero) e NLWP (numero di processo leggero).

$ ps -fL -C httpd
Elenca thread di processo

Specifica il formato di output personalizzato

Utilizzando le opzioni -o o –format, ps ti consente di creare formati di output definiti dall’utente come mostrato di seguito.

18. Per elencare tutti gli identificatori di formato, includi il flag L.

$ ps L

19. Il comando seguente consente di visualizzare PID, PPID, nome utente e comando di un processo.

$ ps -eo pid,ppid,user,cmd
Elenca processi con nomi

20. Di seguito è riportato un altro esempio di un formato di output personalizzato che mostra il gruppo del file system, il valore corretto, l’ora di inizio e il tempo trascorso di un processo.

$ ps -p 1154 -o pid,ppid,fgroup,ni,lstart,etime
Elenca informazioni sull’ID processo

21. Per trovare un nome di processo utilizzando il suo PID.

$ ps -p 1154 -o comm=
Trova processo utilizzando PID

Visualizza processi padre e figlio

22. Per selezionare un processo specifico con il suo nome, utilizza il flag -C, questo mostrerà anche tutti i suoi processi figli.

$ ps -C sshd
Trova processo genitore figlio

23. Trova tutti i PID di tutte le istanze di un processo, utile quando si scrivono script che devono leggere i PID da un file o output standard.

$ ps -C httpd -o pid=
Trova tutti i PID di processo

24. Controlla il tempo di esecuzione di un processo.

$ ps -eo comm,etime,user | grep httpd

L’output seguente mostra che il servizio HTTPD è in esecuzione da 1 ora, 48 minuti e 17 secondi.

Trova tempo di attività del processo

Risoluzione dei problemi Prestazioni del sistema Linux

Se il tuo sistema non funziona come dovrebbe, ad esempio se è insolitamente lento, puoi eseguire alcuni problemi di sistema come segue.

26. Trova i principali processi in esecuzione in base al massimo utilizzo di memoria e CPU in Linux.

$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | headOR$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
Trova i principali processi in esecuzione

27. Per terminare un processo Linux / applicazioni che non rispondono o qualsiasi processo che consuma molto tempo CPU.

Innanzitutto, trova il PID del processo o dell’applicazione che non risponde.

$ ps -A | grep -i stress

Quindi utilizza il comando kill per terminarlo immediatamente.

$ kill -9 2583 2584
Trova e chiudi un processo

Stampa informazioni sulla sicurezza

28. Mostra il contesto di sicurezza (in particolare per SELinux) in questo modo.

$ ps -eMOR$ ps --context
Trova il contesto SELinux

29. Puoi anche visualizzare le informazioni sulla sicurezza nel formato definito dall’utente con questo comando.

$ ps -eo euser,ruser,suser,fuser,f,comm,label
Elenca il contesto SELinux in base agli utenti

Esegui il monitoraggio del processo in tempo reale utilizzando Watch Utility

30. Infine, poiché ps mostra informazioni statiche, puoi utilizzare l’utility watch per eseguire il monitoraggio del processo in tempo reale con output ripetitivo, visualizzato dopo ogni secondo come nel comando seguente (specifica un comando ps personalizzato per raggiungere il tuo obiettivo).

$ watch -n 1 "ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head"
Monitoraggio del processo in tempo reale

Importante: ps mostra solo informazioni statiche, per visualizzare l’output aggiornato di frequente puoi usare strumenti come htop; in alto e sguardi: gli ultimi due sono in effetti uno strumento di monitoraggio delle prestazioni del sistema Linux.

Potresti anche leggere i seguenti articoli correlati.

  1. Come trovare un nome di processo utilizzando il numero PID in Linux
  2. Trova i principali processi in esecuzione in base al massimo utilizzo di memoria e CPU in Linux
  3. Una guida per Comandi Kill, Pkill e Killall per terminare un processo in Linux
  4. Come trovare e terminare i processi in esecuzione in Linux
  5. Come avviare il comando Linux in background e scollegare il processo nel terminale

Articles
Previous Post

PMC (Italiano)

Next Post

Yosemite Hikes: i posti migliori per portare i tuoi piedi nel Parco Nazionale di Yosemite

Lascia un commento Annulla risposta

Articoli recenti

  • Best Photography Schools In The World, 2020
  • I cittadini sovrani portano la loro filosofia antigovernativa sulle strade
  • Guida ai costi di riparazione dello stucco
  • Muckrakers (Italiano)
  • Oncologia di precisione

Archivi

  • Febbraio 2021
  • Gennaio 2021
  • Dicembre 2020
  • Novembre 2020
  • Ottobre 2020
  • Settembre 2020
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어
Proudly powered by WordPress | Theme: Fmi by Forrss.