Hai mai provato a chiudere la shell o smontare un'unità solo per ottenere un errore che uno o più file sono in uso? O forse hai provato a modificare un file solo per scoprire che è bloccato da un altro programma?
Forse sei preoccupato che qualcuno abbia in qualche modo ottenuto un accesso non autorizzato al tuo sistema Linux. Utilizzando uno strumento chiamato lsof, puoi vedere quali file sono aperti, anche tramite connessioni di rete.
Cos'è lsof?
lsof è un'utilità che elenca i file aperti. Victor Abell lo sviluppò originariamente alla Purdue University. È disponibile per diverse implementazioni Unix, incluso Linux. Attualmente è gestito dal lsof-org su GitHub.
Installazione di lsof su Linux
C'è una buona possibilità che tu abbia già installato lsof sul tuo sistema. Prova a digitare lsof alla riga di comando. In caso contrario, puoi installarlo tramite il gestore pacchetti della tua distribuzione.
Su un sistema Ubuntu o Debian, digita:
sudo apt installare lsof
SU Distribuzioni Linux basate su Arch:
sudo pacman -S lsof
E su RHEL, Rocky Linux e Oracle Linux:
sudo dnf installare lsof
Visualizzazione di file aperti su Linux con lsof
Usare lsof è semplice. Puoi semplicemente invocarlo dalla riga di comando per vedere tutti i file aperti che ti appartengono:
lsof
lsof può elencare i processi appartenenti a root come "Autorizzazione negata". Per vedere tutti i file aperti da tutti i processi a livello di sistema, eseguilo come root:
sudo lsof
lsof mostrerà il comando, il PID, l'utente che lo ha invocato, il descrittore di file, il tipo, il dispositivo, la dimensione, il nodo e il percorso assoluto del file aperto.
Se provi a smontare un'unità come un'unità ottica e ricevi un errore che indica che i file sono in uso, puoi vedere quale processo sta utilizzando il file e quindi uscire o terminarlo.
Per vedere eventuali prese Internet attualmente in uso sul tuo sistema, usa il file -io opzione:
sudo lsof -i
Potresti rilevare possibili intrusioni se noti qualcosa di sospetto sul tuo sistema, ma aggressori più sofisticati potrebbero essere in grado di coprire meglio le loro tracce.
IL -R opzione mette lsof in modalità di ripetizione, dove visualizzerà i risultati dopo un certo intervallo fino a quando non si preme CTRL+C. Per impostazione predefinita, viene eseguito ogni 15 secondi, ma puoi modificarlo. Ad esempio, puoi eseguire il comando ogni 10 secondi digitando:
lsof -r 10
Come con altre utility Linux, puoi combinare questi switch. Supponi di voler controllare la tua connessione Internet ogni cinque secondi. Puoi farlo con lsof digitando:
lsof -i -r 5
Ora puoi tenere traccia di quali processi Linux hanno file aperti
Con lsof, puoi rintracciare quali processi hanno file aperti e risolvere eventuali problemi che potrebbero causare.
I file aperti sono solo un aspetto dei processi di Linux. Ci sono tanti modi per gestire i processi su Linux. È facile avviare, arrestare ed esaminare i processi in Linux in modo da ottenere il massimo dal tuo sistema.