Apreneu a utilitzar el comandament fuser amb exemples a Linux


Una de les tasques més importants en l'administració de sistemes Linux és la gestió de processos. Implica diverses operacions sota control, processos de senyalització, així com l'establiment de prioritats de processos al sistema.

Hi ha nombroses eines/utilitats Linux dissenyades per a la supervisió/maneig de processos com ara Killall, agradable juntament amb molts altres.

En aquest article, descobrirem com trobar processos mitjançant una utilitat Linux enginyosa anomenada fuser.

fuser és una utilitat de línia d'ordres senzilla però potent destinada a localitzar processos en funció dels fitxers, directoris o sòcols als quals accedeix un procés concret. En resum, ajuda a l'usuari del sistema a identificar processos mitjançant fitxers o sòcols.

Com utilitzar el fusor en sistemes Linux

La sintaxi convencional per utilitzar fuser és:

# fuser [options] [file|socket]
# fuser [options] -SIGNAL [file|socket]
# fuser -l 

A continuació es mostren alguns exemples d'ús de fuser per localitzar processos al vostre sistema.

L'execució de l'ordre fuser sense cap opció mostrarà els PID dels processos que accedeixen actualment al vostre directori de treball actual.

$ fuser .
OR
$ fuser /home/tecmint

Per obtenir una sortida més detallada i clara, activeu -v o --verbose de la manera següent. A la sortida, el fusor imprimeix el nom del directori actual, després les columnes del propietari del procés (USUARI), l'ID del procés (PID), el tipus d'accés (ACCESS) i l'ordre (COMMAND) com a la imatge següent.

$ fuser -v

A la columna ACCÉS, veureu els tipus d'accés indicats per les lletres següents:

  1. c: directori actual
  2. e: un fitxer executable que s'està executant
  3. f: obre el fitxer, però, f queda fora de la sortida
  4. F: obre el fitxer per escriure, F també està exclòs de la sortida
  5. r: directori arrel
  6. m: fitxer mmap'ed o biblioteca compartida

A continuació, podeu determinar quins processos estan accedint al vostre fitxer ~.bashrc de la següent manera:

$ fuser -v -m .bashrc

L'opció, -m NAME o --mount NAME significa anomenar tots els processos que accedeixen al fitxer NAME. En cas que escriviu un directori com a NOM, es canvia espontàniament a NAME/, per utilitzar qualsevol sistema de fitxers que possiblement estigui muntat en aquest directori.

En aquesta secció treballarem amb l'ús de fuser per matar i enviar senyals als processos.

Per matar un procés que accedeix a un fitxer o sòcol, utilitzeu l'opció -k o --kill de la següent manera:

$ sudo fuser -k .

Per matar un procés de manera interactiva, on se us demana que confirmeu la vostra intenció de matar els processos que accedeixen a un fitxer o sòcol, feu servir l'opció -i o --interactive:

$ sudo fuser -ki .

Les dues ordres anteriors mataran tots els processos que accedeixen al vostre directori actual, el senyal per defecte enviat als processos és SIGKILL, excepte quan s'utilitza -SIGNAL.

Podeu llistar tots els senyals utilitzant les opcions -l o --list-signals com a continuació:

$ sudo fuser --list-signals 

Per tant, podeu enviar un senyal als processos com a la següent comanda, on SIGNAL és qualsevol dels senyals enumerats a la sortida anterior.

$ sudo fuser -k -SIGNAL

Per exemple, aquesta comanda següent envia el senyal HUP a tots els processos que tenen el vostre directori /boot obert.

$ sudo fuser -k -HUP /boot 

Intenteu llegir la pàgina de manual del fusor per obtenir opcions d'ús avançades, informació addicional i més detallada.

Això és tot de moment, podeu contactar amb nosaltres a través de la secció de comentaris a continuació per a qualsevol ajuda que necessiteu o suggeriments que vulgueu fer.