NOME
fuser − identifica i processi che stanno usando i file
SINTASSI
fuser
[−a|−s]
[−n space]
[−signal] [−kmuv]
nomefile ... [−]
[−n space]
[−signal] [−kmuv]
nomefile ...
fuser −l
fuser −V
DESCRIZIONE
fuser mostra i PID dei processi che stanno usando i file o i file system specificati. Di default mostra ogni nome di file seguito da una lettera che denota il tipo di accesso:
c |
directory corrente. |
|||
e |
eseguibile in esecuzione. |
|||
f |
file aperto. Di default f è omesso. |
|||
r |
root directory. |
|||
m |
file memory mapped o shared library. |
fuser restituisce un codice di ritorno diverso da zero se nessuno dei file specificati sta subendo un accesso o in caso di fatal error. Se almeno uno dei file sta subendo un accesso, fuser ritorna zero.
OPZIONI
−a |
Mostra tutti i file specificati nella riga di comando. Di default, sono mostrati solo in file usati da almeno un processo. | ||
−k |
’’Killa’’ i processi che usano il file. Finché non è cambiato con -signal, è inviato SIGKILL. Un processo fuser non può mai killare se stesso, ma può killare altri processi fuser. Lo user ID effettivo del processo che esegue fuser è impostato al suo user ID reale prima di effettuare il kill. | ||
−l |
Mostra tutti i nomi dei signal noti. | ||
−m |
nomefile specifica un file su di un filesystem montato o un device a blocchi che è montato. Sono mostrati tutti i processi che accedono ai file su quel file system. Se è specificato un file directory, è automaticamente cambiato in nomefile/. per usare un qualsiasi file che potrebbe essere montato in quella directory. |
−n space
Seleziona un diverso name space. Sono supportati i name space file (nomi di file, il default), udp (porte UDP locali), e tcp (porte TCP locali). Per le porte, può essere specificato o il numero della porta o il nome simbolico. Per i name space udp e tcp, possono essere usate le notazioni abbreviate port/proto.
−s |
Silent operation. In questa modalità −a, −u e −v sono ignorati. |
−signal
Usa il signal specificato invece di SIGKILL quando killa i processi. I signal possono essere specificati o con il nome (p.es. −HUP) oppure con il numero (p.es. −1).
−u |
Aggiunge il nome dell’utente proprietario del processo ad ogni PID. | ||
−v |
Verbose mode. I processi sono mostrati in modo simile a ps. I campi PID, USER e COMMAND sono simili a ps. ACCESS mostra come il processo accede al file. | ||
−V |
Mostra la versione. | ||
− |
Riazzera tutte le opzioni e imposta il signal ancora a SIGKILL. |
FILE
/proc posizione del filesystem proc
ESEMPI
fuser -km /home killa tutti i processi che accedono in un modo qualsiasi al file system /home.
if fuser -s /dev/ttyS1; then :; else qualcosa; fi chiama qualcosa se nessun altro processo tra usando /dev/ttyS1.
fuser telnet/tcp mostra tutti i processi alla porta TELNET (locale).
RESTRIZIONI
I processi che accedono più volte allo stesso file o allo stesso file system sono mostrati solo una volta.
Se lo stesso oggetto è specificato più volte nella riga di comando, alcune di quelle voci potrebbero essere ignorate.
fuser è in grado di raccogliere solo informazioni parziali finché non è avviato con i privilegi adeguati. Di conseguenza, i file aperti da processi appartenenti ad altri utenti potrebbero non essere elencati e gli eseguibili potrebbero essere classificati solo come mapped.
Installando fuser SUID root si eviteranno i problemi associati con le informazioni parziali, ma ciò potrebbe essere indesiderabile per ragioni di sicurezza e privacy.
I name space udp e tcp, o gli UNIX domain socket non possono essere ricercati con kernel più vecchi del 1.3.78.
AUTORE
Werner Almesberger <werner.almesberger [AT] lrc.ch>