Il comando fuser è utile per determinare quali file stanno utilizzando le risorse di sistema. Uno degli usi più comuni di questo comando è determinare quale utente è attivo in un filesystem, impedendo all'amministratore di sistema di smontare il filesystem:
[root@localhost ~]# umount /boot umount: /boot: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
[root@localhost ~]# fuser -v /boot USER PID ACCESS COMMAND /boot: root kernel mount /boot student 29306 ..c.. bash
l'output del fusore includerà i seguenti simboli:
c current directory. e executable being run. f open file. f is omitted in default display mode. F open file for writing. F is omitted in default display mode. r root directory. m mmap'ed file or shared library.
La tabella seguente descrive le opzioni comuni per il comando fusore:
Opzione | Descrizione |
---|---|
-k o –kill | Uccidi il processo che sta usando il filesystem o la risorsa. |
-i o –interattivo | Richiedi prima di terminare il processo (devi anche usare l'opzione -k). |
-v o –verbose | Prolisso; produrre ulteriori informazioni utili. |
Esempi di comando fusore
1. Per ottenere il processo utilizzando il file system di root:
# fuser /
2. Per mostrare tutti i file specificati nella riga di comando:
# fuser -a /
3. Per terminare i processi che accedono ai file:
# fuser -k /tmp
4. Per chiedere all'utente prima di terminare il processo:
# fuser -ki /tmp
5. Per elencare tutti i segnali conosciuti:
# fuser -l
6. Per elencare tutti i processi del punto di montaggio in cui risiede il file specificato:
# fuser -m /tmp/file.txt
7. Per il funzionamento silenzioso:
# fuser -s /tmp
8. Per specificare il segnale invece di SIGKILL:
# fuser -signal 15 /tmp
9. Per ottenere il nome utente del titolare del processo:
# fuser -u /tmp
10. Per impostare la modalità dettagliata:
# fuser -v
11. Per visualizzare le informazioni sulla versione:
# fuser -V
12. Per cercare solo socket IPv4:
# fuser -4 /tmp
13. Per cercare solo socket IPv6:
# fuser -6 /tmp
14. Per ripristinare tutte le opzioni del segnale:
# fuser -
Pensieri finali
Il comando fuser identifica ed emette gli ID di processo dei processi che utilizzano i file oi filesystem locali. Ciascun ID processo è seguito da un codice lettera:c se il processo utilizza file come directory corrente; e se eseguibile; f se un file aperto; F se file aperto per la scrittura; m se una libreria condivisa; e r se la directory principale. Qualsiasi utente con il permesso di leggere /dev/kmem e /dev/mem può usare fuser, ma solo un utente privilegiato può terminare il processo di un altro utente. il fusore non funziona su file remoti (NFS).