Solaris: umount device is busy + fuser

Aquellos que acostumbren a trabajar con sistemas GNU/Linux, probablemente sepan que cuando recibimos el error «Device is busy» a la hora de desmontar un filesystem, lo más sencillo es utilizar el comando lsof para averiguar qué proceso está accediendo al FS:

# umount /foo
umount: /foo: device is busy

En el caso de Solaris, el comando equivalente para esta tarea es fuser, que muestra tanto los procesos asociados a ese filesystem como los usuarios que lo están ejecutando:

# fuser -u /foo
/foo:     1253co(root)    2252c(root)

A partir del ejemplo anterior, sabemos que hay dos procesos, uno de root y otro de bar, utilizando el filesystem «/foo». A partir de aquí existe la opción de manualmente revisar y parar esos proceso y luego, otra más valiente y peligrosa, que es matarlos directamente con fuser utilizando el parámeetro -k

# fuser -k /foo
/foo:     1253co    2252c