In Linux, i fili sono anche noti come LWP o processi leggeri. Questi thread creati all'interno del programma hanno un "ID gruppo thread", lo stesso del PID del programma. C'è un singolo thread ID (TID) assegnato a ciascun thread. I thread Scheduler nel kernel Linux condividono alcune risorse, che sono processi standard.
Oltre a visualizzare le informazioni a livello di processo per impostazione predefinita, gli strumenti di comando classici, come Top e PS, possono anche visualizzare le informazioni a livello di thread. PS, Top e Htop sono comandi classici che mostrano le informazioni a livello di processo per impostazione predefinita. È inoltre possibile visualizzare le informazioni a livello di thread utilizzando i comandi precedenti. Questa guida passerà attraverso il comando PS e spiegherà come il comando PS mostra i thread in Linux.
Mostra i thread usando il comando PS in Linux
Con l'aiuto del comando PS, è possibile visualizzare i thread con molti filtri come PID (ID processo), nome dell'applicazione, ecc. Questo comando non funziona su BSD o macOS, poiché non esiste alcuna opzione per mostrare che il thread e il parametro -t hanno un significato diverso.
Cominciamo con il seguente comando nel terminale per elencare tutti i thread usando il comando PS:
PS -Elf
Mostra thread con PID
Ecco la sintassi standard dei comandi PS per visualizzare i thread usando i PID:
PS -t -p
PS -t p
-T | Elenca tutti i thread |
-P | Specifica l'ID processo |
È possibile visualizzare i thread per PID specifici. Segui la sintassi standard precedente e metti il numero PID che si desidera conoscere i thread.
Ad esempio, usiamo il PID . La sintassi è la seguente:
PS -t -p 1904
PS -TP 1904
La colonna "Spid" mostra gli ID thread nell'output precedente. E la colonna "cmd" rappresenta i nomi dei thread.
Mostra thread con nome dell'applicazione
Ecco la sintassi standard del comando PS per visualizzare i thread usando il nome dell'applicazione:
ps -t -c
Opzione | Descrizione |
---|---|
-T | Elenca tutti i thread |
-C | Specifica il nome dell'applicazione |
Ad esempio, scopriamo il thread relativo all'applicazione bash. Ecco il comando di base:
PS -t -c bash
Mostra thread con filtro
La sintassi standard del comando PS è di visualizzare i thread utilizzando il filtro come segue:
PS -e -t | grep
Opzione | Descrizione |
---|---|
-T | Elenca tutti i thread |
-e | Mostra tutti i processi |
| | Tuba l'uscita al comando successivo |
grep | Filtra il contenuto con l'aiuto di |
È possibile filtrare il contenuto tramite il nome dell'applicazione. Digitare ed eseguire il seguente comando per realizzarlo:
PS -e -t | grep
PS -e -t | Grep Bash
Puoi anche filtrare i thread usando i loro PID:
PS -e -t | grep
PS -e -t | 1904
Nell'output precedente, potresti notare che tutti i thread hanno lo stesso PID. Significa che tutti i thread precedenti sono nello stesso processo.
Per trovare la somma di tutti i thread in esecuzione nel sistema, è possibile eseguire il seguente comando:
PS -EO NLWP | Tail -N +2 | awk 'num_threads += $ 1 end print num_threads'
È possibile utilizzare il "PGREP" o "PIDOF" per ottenere l'ID processo del nome del processo:
PS -O NLWP $ (PGREP)
O
PS -O NLWP $ (Pidof)
Conclusione
In Linux, i thread sono creati da un programma con "ID gruppo thread" come il PID. Esistono diversi modi per mostrare i thread in Linux usando vari comandi. In questa guida, abbiamo spiegato i diversi metodi per visualizzare i thread usando il comando PS.
C'è un vantaggio nell'uso del comando PS perché ti mostra tutti i dettagli che desideri. È possibile filtrare e visualizzare i thread usando i loro PID, il nome dell'applicazione, ecc. È inoltre possibile monitorare il conteggio dei thread tramite il comando PS.