Non tutti conoscono il comando fuser, utilizzabile da shell per sapere quale processo sta uzilizzando un file.
Il comando fuser elenca i processi che utilizzano uno o più indicati come argomento.
Inoltre, fuser permette anche di inviare un segnale ai processi che utilizzano un determinato file (o determinati gruppi di file) mediante l'opzione -k.
fuser si trova normalmente nella directory /bin/ o /usr/bin/ o /usr/sbin a seconda della distribuzione utilizzata (per saperlo esattamente basta usare da shell il comando which fuser), il pacchetto (o l'ebuild) per installarlo nel caso mancasse nel vostro sistema è psmisc.
Usando il comando fuser si utilizza fuser per ottenere l'elenco dei processi che accedono ad un file, vengono restituiti i numeri dei processi in abbinamento ad una lettera che indica in che modo accedono al file:
- c directory corrente
- e eseguibile in esecuzione
- f file aperto (è possibile che non venga visualizzata)
- r directory radice
- m file mappato in memoria o libreria condivisa
fuser ritorna come valore zero se tra i file indicati ne esiste almeno uno che non è utilizzato da alcun processo.
Sintassi:
fuser [<opzioni>] <file1> [<file2>]…[<filen>]
Opzioni di fuser:
- -a
Mostra tutti i file indicati come argomento, anche se non sono utilizzati da alcun processo. Normalmente, fuser mostra solo i file in uso - -k
Invia un segnale ai processi. Se non viene specificato diversamente attraverso l'opzione -, si utilizza il segnale di default SIGKILL - –
Permette di specificare il segnale da inviare con l'opzione -k. In pratica, si tratta di un trattino seguito dal segnale espresso in forma numerica o in forma simbolica (per esempio -TERM) - -l
Elenca i nomi dei segnali conosciuti - -m
Utilizzando questa opzione può essere indicato solo un nome di file, il quale può essere un file di dispositivo, riferito a un'unità di memorizzazione montata nel filesystem, o una directory che costituisce il punto di innesto della stessa. Quello che si ottiene è l'indicazione di tutti i processi che accedono a quella unità di memorizzazione - -u
Viene aggiunta l'indicazione dell'utente proprietario di ogni processo - -v
Mostra una tabellina dei processi abbinati ai file, in forma più chiara rispetto alla visualizzazione normale. - -s
Disabilita qualunque emissione di informazioni. Viene utilizzato quando tutto ciò che conta è il solo valore restituito dal programma.
Esempi:
fuser *
Mostra i processi che accedono ai file della directory corrente.
fuser -k /usr/sbin/*
Elimina tutti i processi che utilizzano file nella directory /usr/sbin/.