Crea sito
22 Ottobre 2020

Officine Informatiche Roma

ICT SERVICES ROMA – BAZAAR INFORMATICO

LINUX: comando ‘ps’ per monitorare i processi

5 min read
12 / 100

Comando ‘ps’

In Linux /, il sistema basato su Unix viene fornito con un’utilità incorporata ‘ps’ (stato dei processi) per controllare le informazioni sul processo in esecuzione. Il processo non è altro che un programma in Linux / Unix per eseguire un’attività specifica. Il comando ps in Linux viene utilizzato per monitorare tutte le attività attualmente in esecuzione insieme a USER, PID,% CPU,% MEM, VSZ, RSS, TTY, STAT, START, TIME, COMMAND. Aiuta, principalmente agli amministratori di sistema, a trovare il PID (identificatore di processi) di tutti i processi in esecuzione per monitorare e risolvere i problemi.

Questa guida ti aiuterà a usare varie opzioni con il comando ps. Tutti gli esempi seguenti sono stati testati su RHEL / CENTOS 7.6

La sintassi globale del comando ps:

ps [opzioni]

1. Come elencare i processi dalla shell corrente?

# ps

comando ps in linuxNota: l’utilizzo del comando “ps” senza alcuna opzione elencherà solo i processi in esecuzione dalla shell corrente. Il risultato del comando precedente contiene 4 colonne, che sono informazioni non ordinate.

 uso del comando ps in linux

2. Come elencare tutti i processi nel formato di sistema (standard)?

# ps -A OPPURE # ps -e

come usare il comando ps -ef in linuxNota: l’utilizzo dell’opzione “-A o -e” con il comando “ps” elencherà tutti i processi tranne i leader di sessione. Per saperne di più sul leader della sessione. Nell’esempio sopra, utilizza per elencare tutti i processi in un formato standard.

3. Come elencare i processi non associati a Terminal?

# ps -a

Come usare ps -a nel comando linuxNota: utilizzando l’opzione “ps -a” possiamo visualizzare tutti i processi tranne i leader di sessione e i processi che non sono associati a un terminale.

4. Come elencare tutti i processi in esecuzione sul sistema?

# ps -x

Come usare ps -x nel comando linuxNota: l’utilizzo dell’opzione “-x” con il comando ps elencherà tutti i processi sul sistema. Puoi anche vedere i processi che non sono associati alla TTY corrente. L’opzione x è sempre combinata con altri flag come a, u.

5. Come elencare tutti i processi sul sistema utilizzando il formato BSD?

# ps aux

Come usare ps aux nel comando linuxNota: il comando ps può accettare opzioni con due formati diversi, ovvero BSD e Unix. In BSD che non dovremmo avviare le opzioni con un trattino e in UNIX che dovremmo avviare le opzioni con un trattino. I dettagli degli argomenti e del risultato risultano come segue:

come usare ps aux

6. Come eseguire l’elenco in formato completo?

# ps -ef OPPURE # ps -eF

comando ps -ef in linuxNota: l’utilizzo dell’opzione “-ef” con il comando ps visualizzerà l’elenco completo del formato e con l’opzione “-F” maiuscolo verrà visualizzato il formato completo extra. I dettagli degli argomenti e del risultato risultano come segue:

comando ps -eF in Linux

7. Come elencare le informazioni sui processi dei thread ?

# ps -eLF

come usare ps -eLF in linuxNota: l’utilizzo dell’opzione “-L” con il comando “ps” visualizza le informazioni sui thread. I thread sono anche denominati Light Weight Processes (LWP). Fondamentalmente, ti dà un’idea di quanti thread simultanei stanno entrando nel sistema, in base a questo puoi analizzare quale dei processi sta generando più thread. Nell’output about, puoi vedere nelle colonne 4 e 6 (LWP e NLWP). LWP fornisce l’ID thread e NLWP fornisce il numero di thread. Nell’esempio sopra, puoi vedere che il PID 15111 (kdesvn) ha 4 thread. Verrà elencato processi singoli e multi-thread.

8. Come elencare tutti i processi in esecuzione per nome utente?

# ps -U linuxteck

Come usare ps -U in linuxNota: l’utilizzo dell’opzione “-U” con il comando “ps” elencherà tutti i processi in esecuzione con il nome utente. Nell’esempio sopra, elencherà tutti i processi in esecuzione dall’utente liuxteck. Se hai bisogno di un elenco in formato completo, usa “# ps -fU”.

9. Come elencare tutti i processi in esecuzione da un particolare gruppo?

# ps -G gdm

come usare ps -G nel comando linuxNota: l’utilizzo dell’opzione “-G” con il comando “ps” elencherà tutti i processi in esecuzione da un particolare gruppo. Nell’esempio precedente, elencherà tutti i processi in esecuzione dal gruppo gdm. Se hai bisogno di un elenco in formato completo, usa “# ps -fG”.

10. Come ottenere il nome del processo utilizzando il PID corrispondente?

# ps -p 6967 -o comm =

Produzione:

kdesvn

Nota: utilizzando il comando precedente possiamo recuperare il nome del processo utilizzando con il suo PID corrispondente. Qui l’opzione “-p” indica il PID e l’opzione “-o” indica il formato di output e “comm =” indica il nome del comando. Nell’esempio sopra, ha stampato il nome del processo (kdesvn) del PID n. “6967”.

11. Come cercare un ID processi?

# ps -C kdesvn

 

Produzione:

PID TTY TIME CMD
6967? 00:00:13 kdesvn

Nota: l’utilizzo dell’opzione “-C” con il comando “ps” otterrà i processi il cui nome eseguibile è indicato nell’elenco dei comandi. Può facilmente trovare il PID dei processi in esecuzione. Nell’esempio sopra, ho dato il nome “kdesvn” nell’elenco dei comandi per eseguire e recuperare il PID dello stesso.

12. Come trovare il tempo di attività di un processo?

# ps -eo comm, lstart, etime, utente | grep svnserve

 

Produzione:

 

svnserve mercoledì 27 febbraio 15:42:36 2019 228-20: 54: 53 root

Nota: utilizzando il comando precedente è possibile trovare la data di inizio del comando eseguibile e il tempo di attività complessivo. Nell’esempio sopra, puoi vedere, il servizio “svnserve” è stato avviato il 27 febbraio 2019 alle 15:42:36 e il tempo di attività di questo servizio è durato quasi 228 giorni, 20 ore, 54 minuti e 53 secondi. I dettagli degli argomenti di cui sopra come segue:

comm -> Indica il nome del comando
lstart -> Data / Ora del comando eseguito
etime -> Il tempo trascorso di un utente del processo
-> Nome dell’utente

13. Come elencare i primi 10 processi che consumano CPU?

# ps -e –sort = -pcpu -o pid, pcpu, comm | testa -n 11

ps -e --sortNota: il comando precedente mostrerà l’elenco dei primi 10 processi che consumano CPU.

14. Come elencare i primi 10 processi che consumano memoria?

# ps -e –sort = -pmem -o pid, pmem, comm | testa -n 11

comando ps in linux pidNota: il comando precedente visualizzerà l’elenco dei primi 10 processi che consumano memoria.

15. Come uccidere la CPU / Mem o programmi / applicazioni inutilizzati che consumano processi in Linux?

# ps aux | grep firefox OPPURE # ps -ef | grep firefox

 

Produzione:

 

linuxteck 2443 6,7 5,7 8895548 453380? Sl 09:16 33:38 / usr / lib64 / firefox / firefox
linuxteck 2604 8.7 7.1 3424284 562304? Sl 09:17 43:23 / usr / lib64 / firefox / plugin-container -greomni /usr/lib64/firefox/omni.ja -appomni /usr/lib64/firefox/browser/omni.ja -appdir / usr / lib64 / firefox / browser 2443 tab
root 17704 0.0 0.0 112664 968 pts / 1 S + 17:35 0:00 grep –color = auto firefox

Nota: il comando precedente elencherà il PID di una particolare applicazione da uccidere. È possibile terminare i processi tramite l’ID o il nome del processo. Nell’esempio sopra ho selezionato due PID “2443 e 2604”. Usa il seguente comando per uccidere i PID.

Sintassi: <kill SIGNAL PID>

# kill -9 2443 2604

OPPURE seguendo il comando, se desideri terminare i processi in base al nome del processo

# killall -9 firefox

NB: “-9” indica il segnale Kill

Spero che questo articolo ti aiuti a imparare i comandi “ps” con esempi. Inviami il tuo feedback / commenti. Se ti piace questo articolo, condividilo gentilmente, in modo che possa aiutare anche gli altri.

Translate »