fuser es una de esas utilidades de las que uno nunca se acuerda, pero que suele ser muy interesante. Su funcionalidad es simple, lista los procesos que tienen bloqueado un determinado fichero o ficheros y permite matarlos y por lo tanto desbloquear el fichero.
Es una buena utilidad ya que permite matar aquellos procesos que quedaron abiertos y no lo sabemos y que, por ejemplo, nos impiden guardar un fichero por que está ya abierto o desmontar un pen por que todavía está en uso. A continuación tenemos un ejemplo de la lista de ficheros y el proceso que los tiene abiertos con la salida de fuser.
shell> fuser -u /var/log/* /var/log/atop.log: 29305 (root) /var/log/auth.log: 1277 (root) /var/log/cron.log: 1277 (root) /var/log/daemon.log: 1277 (root) /var/log/mail.log: 1277 (root) /var/log/msfupdate.log: 10485 (root) 10486 (root) /var/log/ntp: 1937 (ntp) /var/log/syslog: 1277 (root)
Si ahora no interesa matar uno de esos procesos sería,
shell> fuser -k /var/log/ntp /var/log/ntp: 1937
Y se podrá comprobar cómo el daemon ntp murió con una señal de KILL.
fuser permite enviar otras señales que no sean KILL al proceso en cuestión y en función de dicha señal, sucedera uno u otra cosa, según lo que esté programado en programa que bloquea el fichero. La lista de señales que podrá enviar es la siguiente.
shell> fuser -l HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN SEGV TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS UNUSED
No hay comentarios :
Publicar un comentario