androide

Comando Pstree in Linux

Comandos Linux - pstree y kill

Comandos Linux - pstree y kill

Sommario:

Anonim

Quando si lavora su una macchina Linux, a volte potrebbe essere necessario scoprire quali processi sono attualmente in esecuzione. Esistono numerosi comandi che è possibile utilizzare per trovare informazioni sui processi in esecuzione, con ps e top i più utilizzati., parleremo del comando pstree . È simile a ps , ma invece di elencare i processi in esecuzione, li mostra in un albero. Il formato ad albero è un modo più conveniente per visualizzare la gerarchia dei processi e rende l'output più visivamente accattivante.

Come usare il comando pstree

La sintassi generale per il comando pstree è la seguente:

ps

Nella sua forma più semplice quando viene invocato senza alcuna opzione o argomento, pstree mostra una struttura ad albero gerarchica di tutti i processi in esecuzione:

pstree

systemd─┬─VBoxService───7* ├─accounts-daemon───2* ├─2* ├─atd ├─cron ├─dbus-daemon ├─irqbalance───{irqbalance} ├─2* ├─lvmetad ├─lxcfs───2* ├─networkd-dispat───{networkd-dispat} ├─nginx───2*…

L'elemento top / root nella struttura è il processo principale di tutti i processi di sistema. In questo esempio è systemd , che è il primo processo che si avvia all'avvio.

pstree unisce rami identici mettendoli tra parentesi quadre e prefissandoli con un numero intero che rappresenta il numero di rami. Ciò rende l'output più leggibile e visivamente accattivante.

Di seguito è riportato un esempio che mostra come vengono utilizzate le parentesi quadre:

├─2*

è uguale a:

├─agetty ├─agetty

Per disabilitare l'unione dei rami identici, utilizzare l'opzione -c :

pstree -c

I thread di un processo sono mostrati sotto il processo genitore e visualizzati usando il nome del processo tra parentesi graffe. Ecco un esempio:

├─lxcfs───2*

Utilizzare l'opzione -t per mostrare i nomi dei thread completi. Se vuoi nascondere i thread e mostrare solo i processi usa l'opzione -T .

In genere, pstree visualizza molte righe di output che non si adattano allo schermo. Per visualizzare l'output una pagina alla volta, esegui il pipe al comando less :

pstree | less

Se un nome utente viene fornito come argomento, pstree mostra solo i processi di proprietà di quell'utente. Ad esempio, il comando seguente mostrerà solo quei processi che sono stati avviati da un utente chiamato "linuxize":

pstree linuxize

Quando PID viene specificato come argomento, pstree visualizza un albero con il processo indicato come radice dell'albero. Ecco un esempio:

pstree 1943

sshd───bash───pstree

Per mostrare i processi principali di un determinato processo, utilizzare l'opzione -s seguita dal PID del processo:

pstree -s 1943

systemd───sshd───sshd───bash───pstree

Mostra PID e PGID

Di solito, quando si esegue il comando pstree , l'informazione più importante che l'utente sta cercando è l'ID del processo. Ad esempio, la conoscenza del PID consente di interrompere un processo non funzionante.

L'opzione -p indica a pstree di mostrare i PID:

pstree -p

I PID sono mostrati tra parentesi dopo ogni processo o thread.

systemd(1)─┬─VBoxService(955)─┬─{VBoxService}(956) │ ├─{VBoxService}(957) │ ├─{VBoxService}(958) │ ├─{VBoxService}(959) │ ├─{VBoxService}(960) │ ├─{VBoxService}(961) │ └─{VBoxService}(962)…

Per impostazione predefinita, pstree , ordina i processi con lo stesso genitore per nome. L'opzione -n dice a pstree di usare l'ordinamento numerico, cioè l'ordinamento per PID:

pstree -pn

L'ID gruppo PGID o PGID è l'ID processo del primo membro del gruppo processo. Per visualizzare i PGID utilizzare l'opzione -g :

pstree -g

I PID sono anche mostrati tra parentesi dopo ogni processo o thread.

systemd(1)─┬─VBoxService(954)─┬─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ └─{VBoxService}(954)…

Quando vengono visualizzati PID o PGID, l'unione è disabilitata implicitamente.

Mostra argomenti della riga di comando

Alcuni programmi possono essere richiamati con le opzioni di configurazione specificate come argomenti della riga di comando.

Per impostazione predefinita, il pstree non mostra gli argomenti della riga di comando per i processi in esecuzione. Per visualizzare come è stato avviato il processo, utilizzare il comando insieme all'opzione -a :

pstree -a

… ├─agetty -o -p -- \\u --keep-baud 115200, 38400, 9600 ttyS0 vt220 ├─agetty -o -p -- \\u --noclear tty1 linux…

evidenziando

pstree consente inoltre di evidenziare i processi per una migliore rappresentazione visiva.

L'opzione -h indica a pstree di evidenziare il processo corrente e tutti i suoi antenati.

pstree -h

Per evidenziare un processo specifico, utilizzare l'opzione -H seguita dall'ID processo:

pstree -H PID_NUMBER

Se l'evidenziazione non è supportata, il comando verrà chiuso con un errore.

Conclusione

Il comando pstree visualizza i processi in esecuzione sotto forma di una struttura ad albero.

Per informazioni su tutte le opzioni pstree disponibili, digitare man pstree nel terminale.

terminale ps