Comandos Linux - pstree y kill
Sommario:
- Come usare il comando
pstree
- Mostra PID e PGID
- Mostra argomenti della riga di comando
- evidenziando
- Conclusione
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.
Cogli la riga di comando con il comando Take

Integra il prompt dei comandi, la GUI e un potente linguaggio batch con il potente toolkit Take Command.
Comando chmod in linux (permessi dei file)

In Linux l'accesso ai file è gestito attraverso le autorizzazioni, gli attributi e la proprietà dei file. Questa esercitazione illustra come utilizzare il comando chmod per modificare le autorizzazioni di accesso a file e directory.
Comando chgrp in linux (cambia gruppo)

In Linux, ogni file è associato a un proprietario e un gruppo e dispone di autorizzazioni che determinano quali utenti possono leggere, scrivere o eseguire il file. Il comando chgrpc modifica la proprietà del gruppo di determinati file.